以下是CentOS环境下HBase数据迁移的常见方法及操作要点:
HBase Shell工具迁移
export
命令将表数据导出到HDFS,再通过import
命令导入目标表。# 源集群导出
hbase shell> export 'source_table' '/path/to/export'
# 目标集群导入
hbase shell> import 'target_table' '/path/to/export'
HBase Export/Import工具
hbase org.apache.hadoop.hbase.mapreduce.Export
导出数据到HDFS。hbase org.apache.hadoop.hbase.mapreduce.Import
从HDFS导入数据。HBase Replication(复制)
hbase shell> add_peer 'peer1', 'zk1:2181:/hbase'
。hbase shell> start_replication 'peer1'
。HBase Snapshot(快照)
hbase shell> snapshot 'table_name', 'snapshot_name'
。hadoop distcp
或手动拷贝快照文件到目标集群HDFS,再通过clone_snapshot
恢复。Hadoop DistCp工具
hadoop distcp hdfs://source-cluster/hbase/data/table hdfs://target-cluster/hbase/data/table
CopyTable工具
hbase org.apache.hadoop.hbase.mapreduce.CopyTable --peer.adr='zk1:2181:/hbase' source_table target_table
注意事项:
hbase shell
的scan
命令对比源表与目标表数据。参考来源: