hbase跨集群遷移(兩集群網路不通)

2021-08-14 18:36:15 字數 1160 閱讀 5242

這兩天公司集群需遷移到華為fi大資料平台,hive,hbase,指令碼等遷移就開始採坑了。。。

先是檢視資料hbase遷移大致有幾種方案:

1、distcp

2、copytabl

e3、export and import

4、copytolocal and copyfromlocal

由於遷移是從cdh開源集群遷移到華為大資料平台(fi),一開始採用的第4中方法,網上找了些資料,資料也能正常上傳,但是執行

hbase hbck -fixmeta、hbase hbck -fixassignments去修復分割槽和元資料時,華為平台總是報錯當前認證使用者沒有許可權操作/hbase/.tmp目錄,我對該使用者賦讀寫執行許可權,還是不行。(華為平台基於安全認證,各種許可權真是頭疼,加上公司沒有專人維護,自己也沒在進行其他操作,另謀其他方法)。

最後,採用export and import方法

詳細步驟如下:1、需要事先在目標集群建立需要遷移的表,通過describe 'kite' 檢視表結構,在目標集群hbase客戶端建立表;

2、在需要遷移的集群上執行hbase資料匯出命令

hbase org.apache.hadoop.hbase.mapreduce.export kite /tmp/hbase_source/kite

kite - 需要遷移的hbase表名;

/tmp/hbase_source/kite- 匯出該錶的hdfs檔案路徑;

3、把資料拷貝到目標集群hdfs上(可以根據自己情況上傳相應目錄),然後執行匯入命令

hbase org.apache.hadoop.hbase.mapreduce.import kite /tmp/hbase_target/kite

4、到hbase shell中驗證,發現資料已經遷移過來;

注:這幾種hbase遷移方案中,較方便的就是distcp,可以直接從源集群到目標集群,也適用hive的遷移,但是有個前提條件兩個集群要能互通,但是網際網路公司多半指令碼都是被許可權限制了,只能忍,~無奈臉~

參考文章:

兩集群拷貝 hdfs資料

將 a集群的資料 拷貝到b集群 hadoop distcp hdfs 10.30 7.8 8020 master basis report data hdfs 10.30 7.2 hive log 一些 常用引數補充 標識及描述 備註 p rbugp 修改次數不會被保留。並且當指定 update 時...

Hive跨集群遷移

hive跨集群遷移資料工作是會出現的事情,其中涉及到資料遷移,metastore遷移,hive版本公升級等。1.遷移hdfs資料至新集群 hadoop distcp skipcrccheck update hdfs hdfs skipcrccheck 因本次遷移涉及低版本遷移高版本,如果hadoop...

Hadoop集群間HBase資料遷移

背景 hbase cluster1 hbase cluster2 利用hbase的snapshots功能,進行集群之間的hbase資料前移 1.開啟snapshots功能 0.95及以上版本預設開啟了 hbase.snapshot.enabledname truevalue property 2.建...