hbase資料在集群之間遷移的三種方案如上圖所示
其中hbase原生工具支援在hbase層面和hdfs層面的hbase表資料遷移
1.在hdfs層面
distcp是直接遷移hbase表在hdfs上底層的檔案路徑下的檔案
hadoop distcp hdfs://sourceip:8020/data/hbase/data/default/d**c_credit_daily hdfs://targetip:8020/hbase/data/default/
測試可以遷移資料,但是遷移之後hbase中scan不到資料,不管是否在目標集群已經建立了表結構
2.在hbase層面
copytable以表級別進行資料遷移。本質也是利用mapreduce進行同步的,與distcp不同的時,它是利用mr去scan 原表的資料,然後把scan出來的資料寫入到目標集群的表。時間引數不指定會很慢,並且成功之後scan不到資料;
hbase org.apache.hadoop.hbase.mapreduce.copytable --starttime=1265875194289 --endtime=1265878794289 --peer.adr=zkhost1,zkhost2,zkhost3:2181:/hbase tablename
export/import主
hbase資料遷移
說明 網上眾多千篇一律的版本都說要用到乙個add table.rb的檔案,可是我的版本根本hbase下就不存在這個檔案。1.把資料表test從hbase下拷出 hadoop dfs get hbase test 2.檔案放到新集群的系統上。3.檔案拷入新的hadoop集群hbase下 hadoop ...
Hbase資料遷移
1.將hbase表資料匯出到hdfs hbase org.apache.hadoop.hbase.mapreduce.driver export tablename data export tablename 2.將hdfs資料獲取到本地 hadoop fs get data export tabl...
Hbase 資料遷移
可以使用 hadoop distcp 命令遷移,目標集群不需要建立表結構 將資料遷移到對應的表目錄下 hadoop distcp hdfs master1 8020 hbase data default tablename hdfs master2 8020 hbase data default t...