kylin备份元数据(用于清除不用的数据方式)

转:https://blog.csdn.net/jiangshouzhuang/article/details/51290239
Kylin组织它所有的元数据(包括cube descriptions and instances, projects, inverted index description and instances,jobs, tables and dictionaries)作为一个层次的文件系统。

然而,Kylin使用HBase来进行存储,而不是普通的文件系统。

我们可以从Kylin的配置文件kylin.properties中查看到:

## The metadata store in hbase
kylin.metadata.url=kylin_metadata@hbase

表示Kylin的元数据被保存在HBase的kylin_metadata表中。
备份Kylin的元数据

./bin/metastore.sh backup

这将备份元数据到本地目录KYLIN_HOME/metadata_backps下面,目录的命名格式为:
KYLIN_HOME/meta_backups/meta_year_month_day_hour_minute_second
比如我的Kylin的家目录为/var/lib/kylin/kylin,那么备份数据的目录为:

/var/lib/kylin/kylin/meta_backups/meta_2016_05_01_11_50_32

我们来查看一下目录:

[kylin@SZB-L0023777kylin]$ cd /var/lib/kylin/kylin/meta_backups/meta_2016_05_01_11_50_32

[kylin@SZB-L0023777meta_2016_05_01_11_50_32]$ ll

total 44

drwxrwxr-x 2 kylin kylin 4096 May  1 11:50 cube

drwxrwxr-x 2 kylin kylin 4096 May  1 11:50 cube_desc

drwxrwxr-x 4 kylin kylin 4096 May  1 11:50 cube_statistics

drwxrwxr-x 6 kylin kylin 4096 May  1 11:50 dict

drwxrwxr-x 2 kylin kylin 4096 May  1 11:50 execute

drwxrwxr-x 2 kylin kylin 4096 May  1 11:50 execute_output

drwxrwxr-x 2 kylin kylin 4096 May  1 11:50 model_desc

drwxrwxr-x 2 kylin kylin 4096 May  1 11:50 project

drwxrwxr-x 2 kylin kylin 4096 May  1 11:50 table

drwxrwxr-x 2 kylin kylin 4096 May  1 11:50 table_exd

drwxrwxr-x 5 kylin kylin 4096 May  1 11:50 table_snapshot

恢复元数据
假如你的Kylin元数据挂掉了,那么我们就可以使用之前备份的数据进行恢复:
1. 首先reset当前Kylin的元数据存储,这将清理掉所有存储在HBase中的Kylin元数据,确保在此之前做过备份

./bin/metastore.sh reset
  1. 接着,上传备份的元数据到Kylin的元数据中
./bin/metastore.sh restore$KYLIN_HOME/meta_backups/meta_xxxx_xx_xx_xx_xx_xx

从Kylin元数据中清理掉无用的资源

随着时间的推移,有些资源,比如字典,表的快照等变得无用了(cube的segment被删除或合并了),但是他们仍然占用空间。可以执行如下命令查找和清理无用的元数据:

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

将需要被删除的资源(resources)罗列出来

  1. 接着,在上面的命令中,添加“–delete true”参数,这样就会清理掉哪些无用的资源。切记,在这个命令操作之前,一定要备份Kylin元数据:
./bin/metastore.sh clean --delete true

猜你喜欢

转载自blog.csdn.net/toto1297488504/article/details/80694260
今日推荐