分享

hbase数据迁移的3种方式总结

xuanxufeng 发表于 2016-4-28 14:10:25 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 1 11937
HBase 是一个开源的非关系 (NoSQL) 的可伸缩性分布式数据库。它的应用是非常广泛的,其中要学习的知识也是很多的,下面我们就来谈谈HBase 数据迁移的几种方式,有copytable方式、Export/Import、直接拷贝hdfs对应的文件:

1,copytable方式

bin/hbase org.apache.hadoop.hbase.mapreduce.CopyTable --peer.adr=zookeeper1,zookeeper2,zookeeper3:/hbase 'testtable'

目前0.92之前的版本的不支持多版本的复制,0.94已经支持多个版本的复制。当然这个操作需要添加hbase目录里的conf/mapred-site.xml,可以复制hadoop的过来。

2,Export/Import

bin/hbase org.apache.hadoop.hbase.mapreduce.Export testtable /user/testtable [versions] [starttime] [stoptime]

bin/hbase org.apache.hadoop.hbase.mapreduce.Import testtable  /user/testtable

跨版本的迁移,我觉得是一个不错的选择,而且copytable不支持多版本,而export支持多版本,比copytable更实用一些。

3,直接拷贝hdfs对应的文件

首先拷贝hdfs文件,如bin/hadoop distcp hdfs://srcnamenode:9000/hbase/testtable/ hdfs://distnamenode:9000/hbase/testtable/

然后在目的hbase上执行bin/hbase org.jruby.Main bin/add_table.rb /hbase/testtable

生成meta信息后,重启hbase

这个操作是简单的方式,操作之前可以关闭hbase的写入,执行flush所有表(上面有介绍),再distcp拷贝。只要下功夫就没有学不会的,谢谢大家!

已有(1)人评论

跳转到指定楼层
xuliang123789 发表于 2016-4-28 18:57:23
谢谢楼主,学习一下,辛苦啦,赞~~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条