Kylin的垃圾清理

在Kylin运行一段时间之后,有很多数据因为不再使用而变成了垃圾数据,这些数据占据着大量HDFS、HBASE等资源,当积累到一定规模时会对集群性能产生影响。这些垃圾数据主要包括:

  • Purge之后原Cube的数据
  • Cube合并之后原Cube Segment的数据
  • 任务失败中未被正常清理的临时数据文件
  • 已经过时的Cube构建的日志和历史任务

为了对这些垃圾数据进行清理,Kylin提供了两个常用的工具。特别注意:数据一经删除将彻底无法恢复!建议使用前一定要进行元数据备份,并对目标资源删除之前进行谨慎的核对。

清理元数据

  1. 首先,执行检查,这是安全操作,不会修改任何内容
$KYLIN_HOME/bin/metastore.sh clean


#这样智慧列出可以被清理的资源供用户核对,而不进行实际的删除操作

  2. 在上面的命令中添加“--delete true”参数,这样就会清理掉无用的资源,切记,在这个命令操作之前,一定要备份kylin元数据

$KYLIN_HOME/bin/metastore.sh clean --delete true

 清理存储器数据

Kylin在构建Cube过程中会在HDFS上生成中间数据。另外,当我们对Cube执行purge/drop/merge时,一些HBASE的表可能会保留在HBASE中,而这些表不再被查询,尽管Kylin会做一些自动的垃圾回收,但是它可能不会覆盖所有方面,所以需要我们能够没隔一段时间做一些离线存储的清理工作。

  1.检查那些资源需要被清理,这个操作不会删除任何内容

$KYLIN_HOME/bin/kylin.sh org.apache.kylin.storage.hbase.util.StorageCleanupJob --delete false

  2.开始执行清理操作

$KYLIN_HOME/bin/kylin.sh org.apache.kylin.storage.hbase.util.StorageCleanupJob --delete true

 

posted @ 2019-01-03 10:05  sellsa  阅读(1866)  评论(0编辑  收藏  举报