1. 程式人生 > >hbase0.94版本資料遷移到1.x版本

hbase0.94版本資料遷移到1.x版本

因公司的hbase0.9.4遷移到雲平臺,但阿里雲的emr的hbase是1.1版本,存在問題:hbase的版本間變化大,採用export/import方法時存在snappy支援問題,元資訊錯誤等問題。

想到hbase有bulkload方式入庫,查看了一下,hbase的hfile 檔案在兩版本間變化不大,在0.92版本就已經升級到hfile V2,故想到使用把舊版本hfile檔案放到雲hdfs上,使用一次bulkload載入到新表中完成資料遷移。具體步驟如下:

1、從舊hdfs取hfile,hadoop fs -get /hbase/adt_channel_compaign/ .

2、把檔案傳到新hdfs,tar -c 55b2c9c122638b57b6e7dc40755569e4 |lz4 | ssh -p22

[email protected] "cd /data0/tmp; lz4 -d | tar x"  , 然後 put 到hdfs

3、把表格建立好,執行buldload操作,如

export HADOOP_CLASSPATH=/usr/lib/hbase-current/lib/*:$HADOOP_CLASSPATH export CALSSPATH=/usr/lib/hbase-current/lib:CALSSPATH

hadoop jar /usr/lib/hbase-current/lib/hbase-server-1.1.1.jar completebulkload  /data/hfile/path table_name