HBASE的備份策略(資料遷移)

2021-10-05 21:26:26 字數 990 閱讀 6708

1.利用hbase本身提供的介面執行匯出表操作

匯出操作:./hbase org.apache.hadoop.hbase.mapreduce.driver export表名"hdfs:"   本地路徑或者hdfs的路徑

匯入操作:./hbase org.apache.hadoop.hbase.mapreduce.driver import表名(已經建好的表)"hdfs:"   本地路徑或者hdfs的路徑

2.網路不通的情況下執行複製根目錄操作

① 在源hbase停掉的情況下從源hbase中複製hbase資料庫表到本地(該目錄即hbase-site.xml中配置的hbase.rootdir)

在hadoop bin下執行操作./hadoop fs -get "hdfs://master:9000/hbase" /home/neokylin/222hbase,其中"hdfs://master:9000/hbase"也可以是本地目錄,本地目錄時不加引號

② 遠端複製到目標hbase的hbase.rootdir路徑下

在目標主機上執行操作scp -r [email protected]:/home/neokylin/

hbase  /opt/hbase(注意修改目標hbase中hbase-site.xml的hbase.rootdir)

③ 格式化hadoop,重啟hadoop和hbase,在hbase shell 下執行list可以看到源hbase中所建的表,然而並不能瀏覽資料

④ 修復.meta,即表的元資料檔案

在hbase下執行操作bin/hbase hbck -fixmeta

⑤ 重新分配資料到各regionserver

在hbase下執行操作bin/hbase hbck -fixassignments

注:實際在執行的過程中直接將hbase的根目錄檔案複製到遷移目標主機hbase.rootdir目錄下,啟動hadoop和hbase,進入hbase shell,執行list、scan和命令即可看到表資料(幾次嘗試4、5可能不需要執行)

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