hbase資料遷移方式

2021-07-06 01:37:24 字數 1077 閱讀 6009

之前要hbase資料遷移,我使用export/import方式,感覺很棒,鏈結如下:

後來發現還有其他兩種方式,so就全部整理下吧。

copytable方式

bin/hbase org.apache.hadoop.hbase.mapreduce.copytable --peer.adr=zookeeper1,zookeeper2,zookeeper3:/hbase 'testtable'
目前0.92之前的版本的不支援多版本的複製,0.94已經支援多個版本的複製。當然這個操作需要新增hbase目錄裡的conf/mapred-site.xml,可以複製hadoop的過來。

export/import

bin/hbase org.apache

.hadoop

.hbase

.mapreduce

.export testtable /user/testtable [versions] [starttime] [stoptime]

bin/hbase org.apache

.hadoop

.hbase

.mapreduce

.import testtable /user/testtable

跨版本的遷移,我覺得是乙個不錯的選擇,而且copytable不支援多版本,而export支援多版本,比copytable更實用一些。

直接拷貝hdfs對應的檔案

首先拷貝hdfs檔案,如

bin/hadoop distcp hdfs://srcnamenode:9000/hbase

/testtable/

hdfs://distnamenode:9000/hbase

/testtable/

然後在目的hbase上執行bin/hbase org.jruby.main bin/add_table.rb /hbase/testtable

生成meta資訊後,重啟hbase

這個操作是簡單的方式,操作之前可以關閉hbase的寫入,執行flush所有表(上面有介紹),再distcp拷貝。

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...