备份Kylin的元数据


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

2.      接着,上传备份的元数据到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)罗列出来

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

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


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
© 2014-2018 ITdaan.com 粤ICP备14056181号