這兩天公司集群需遷移到華為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.建...