前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Kylin垃圾清理

Kylin垃圾清理

作者头像
用户5252199
发布2022-04-18 14:10:43
1.6K0
发布2022-04-18 14:10:43
举报
文章被收录于专栏:大数据技术博文
kylin在运行一段时间之后,有很多数据因为不再使用从而变成了垃圾数据,这些数据占用着大量的HDFS空间(起初就是因为发现hdfs节点磁盘很快爆满,但是明明没有什么task running),这些数据占用着hdfs和hbase的资源,当累计到一定程度时对集群性能会产生影响

kylin中的垃圾数据主要包括 :

1:purge之后的原cube数据

2:Cube合并之后原Cube Segment的数据

3:任务失败了但是没有正常清理的临时数据文件

4:已经过时的Cube构建的日志和任务历史

kylin 本身提供了如何清理垃圾数据的操作,在这里要注意一点就是元数据的清理要做好备份准备,同时kylin也提供了元数据备份的操作。

一 :kylin 元数据的清理

元数据主要包括无用的字典,表的快照等无用信息,可以通过下面的命令来查看和清理无用的元数据

1):检查元数据(这个命令只是一个查询,不会对kylin做其它操作,是安全的)

$KYLIN_HOME/bin/metadatastore.sh clean

上面的命令只会列出需要清理的元数据信息,不会执行具体的操作,如果要执行具体的操作可以加 —delete true

默认情况下,该操作会清理的资源表如下:

1 :2天前创建的已无效的Lookup表镜像,字典,Cube统计信息

2 :30天前结束的Cube构建任务步骤信息,步骤输出

2):备份,还原元数据

在删除前最好做一个备份,元数据是很重要的数据

备份 :$KYLIN_HOME/bin/metadata.sh backup

查看元数据信息 /metabackup/metadata_xxx_xx

还原元数据 : ./metadata.sh reset ./metadata.sh restore $KYLIN_HOME/metadatabackup/metadata_xx_xx_xx

二 :清理存储器数据

kylin在构建Cube过程中会在HDFS上生成中间数据,另外,当我们对Cube执行 purge/drop/merge 时,一些HBase的表可能会保留在HBase中,而这些表不在被查询,kylin本身会有自动垃圾回收,但是只是回收单方面的,不会覆盖所有方面,所以需要人工隔断时间进行离线存储的清理工作。

1):列出kylin 存储在hdfs上面的所有中间数据,也可以认为是可删除数据

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

上面命令不会执行删除,只是列出来kylin存在hbase和hdfs上面的可删除数据。(我这里已经执行删除过了,所以是空的)

2 ):执行删除操作

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

以上操作kylin在hdfs和hbase上面的数据就干净了,查看磁盘空间也清理出了很多。

有兴趣的可以查看具体的逻辑代码。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-11-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大数据技术博文 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档