以下是在CentOS上进行HBase数据迁移的方案:
snapshot 'snapshot_name','table_name'
命令创建表快照。hbase org.apache.hadoop.hbase.snapshot.ExportSnapshot
命令将快照导出到HDFS,如hbase org.apache.hadoop.hbase.snapshot.ExportSnapshot -snapshot snapshot_name -copy-to hdfs://target-cluster:8020/hbase
。hbase> clone_snapshot 'snapshot_name','table_name'
命令恢复表结构和数据。add_peer 'peer_name','ClusterB:2181:/hbase'
设定peer关系。alter 'table_name',{NAME=>'column_family',REPLICATION_SCOPE=>'1'}
为表设置复制属性,实现增量数据迁移。hadoop distcp -f filelist "hdfs://new_cluster_ip:9000/hbasetest" /destination/path
,要确保网络带宽充足。