在CentOS上进行HBase数据迁移可以通过以下几种方法实现:
hbase(main):001:0 snapshot 'source_table_name' 'snapshot_name'
hbase org.apache.hadoop.hbase.snapshot.ExportSnapshot -snapshot snapshot_name -copy-to hdfs://target_namenode:port/hbase/snapshot_name
hbase org.apache.hadoop.hbase.mapreduce.Import source_table_name hdfs://target_namenode:port/hbase/snapshot_name
hbase(main):001:0 alter 'source_table_name' , {NAME 'column_family' , REPLICATION_SCOPE '1' }
hadoop distcp hdfs://source_namenode:port/hbase/snapshot_name hdfs://target_namenode:port/hbase/snapshot_name
hbase org.apache.hadoop.hbase.mapreduce.Import source_table_name hdfs://target_namenode:port/hbase/snapshot_name
hbase org.apache.hadoop.hbase.mapreduce.CopyTable --new.name target_table source_table
hadoop jar hbase-server-version.jar org.apache.hadoop.hbase.mapreduce.CopyTable --new.name target_table source_table
在进行数据迁移时,需要注意以下几点: