欢迎投稿

今日深度:

HBase备份,

HBase备份,


HBase数据迁移方法
一、相同版本(例如:hbase0.94)之间数据迁移
a.首先在集群A上将HDFS上 /hbase 文件夹下的所有表都拷贝到本地目录
hadoop fs -copyToLocal /hbase  /opt/hbase_backup

b.将hbase_backup上的文件复制到集群B上
在集群B上将hbase_backup下的文件上传到集群B的 /hbase 目录下

c.在集群B上运行 hbase hbck -repairHoles
此时会将 /hbase文件夹下的表信息写到 .META.表中

d.重启集群B的HBase,重启完成后再次运行 hbase hbck -repairHoles  调整Region信息

二、HBase0.94到0.96版本的迁移(0.96版本增加了namespace的概念,要当于database)
a.在集群A上运行
hbase org.apache.hadoop.hbase.mapreduce.Export student /hdfs/hbase_backup/
此命令会将表中的数据导出为SequenceFile存到HDFS上,然后从集群A的HDFS上把
hbase_backup 下的数据上传到集群B的HDFS /hdfs/previous/文件夹下
b.在集群B上运行
hbase org.apache.hadoop.hbase.mapreduce.Import student  /hdfs/previous/student
此时会将student表中的数据导入到集群B的HBase表student中
注意:必须先在集群B上创建表student,且表结构与集群A上的表student结构相同

三、使用 hbase 的 add_table.rb 工具(hbase0.94版本以上找不到此文件)
a.首先将集群A中的表文件夹上传到集群B的HDFS上 /hdfs/previous/下
b.在集群B上运行 bin/hbase org.jruby.Main bin/add_table.rb /hdfs/previous/student

www.htsjk.Com true http://www.htsjk.com/hbase/39339.html NewsArticle HBase备份, HBase数据迁移方法 一、相同版本(例如:hbase0.94)之间数据迁移 a.首先在集群A上将HDFS上 /hbase 文件夹下的所有表都拷贝到本地目录 hadoop fs -copyToLocal /hbase  /opt/hbase_backup b.将h...
相关文章
    暂无相关文章
评论暂时关闭