EMR(hadoop/hbase/phoenix夸集群數(shù)據(jù)遷移采坑記錄)

一宣鄙、概述:

Hbase(Phoenix)數(shù)據(jù)遷移方案主要分為 Hadoop層面(distcp)、及Hbase層面(copyTable、export/import蹂随、snapshot)

二茁帽、以下針對distcp方案詳細(xì)說明(以親測阿里EMR為例):

step1:

首先打通兩個集群網(wǎng)絡(luò)(建議內(nèi)網(wǎng))玉罐,新建一個tmp安全組,將兩個集群的所有ECS都加入進(jìn)來潘拨;

step2:

Cluster-A中將HBase的表在HDFS存儲文件distcp到Cluster-B的HBase在HDFS中對應(yīng)的目錄(一定要用hdfs賬戶)

[root@emr-header-1 ~]# sudo su hdfs

[hdfs@emr-header-1 ~]# hadoop distcp hdfs://A:9000/hbase/data/default/safeclound.tb_ammeter hdfs://B:8020/hbase/data/default? ? ? # 將表safeclound.tb_ammeter從A集群在線拷貝到B集群吊输,注:老版本端口是9000新版本是8020

備注: /hbase/data/default是E-MapReduce中HBase表在HDFS存儲路徑,例如表TestTable 的存儲路徑是/hbase/data/default/TestHbase, 可以只有單個表的路徑铁追,

也可以是default下面所有表的路徑(即*表示)季蚂,EMR的老版本hdfs端口是9000,新版hdfs端口是8020,這個具體情況而定就行扭屁。

特別注意:千萬不能把hbase和Phoenix的系統(tǒng)表拷貝了算谈,只需拷貝自建的業(yè)務(wù)表即可(因?yàn)閐istcp對于Cluster-B是覆蓋操作),

根據(jù)本人親測經(jīng)驗(yàn)還是老老實(shí)實(shí)一張一張表拷貝吧料滥,非常不建議使用*然眼,一是多個表數(shù)據(jù)量可能巨大,二是會把系統(tǒng)表拷貝過去了

Cluster-B中執(zhí)行HBase repair修復(fù)(一定要用hbase賬戶)

[root@emr-ha-header-1 ~]# sudo su hbase

[hbase@emr-ha-header-1 ~]# hbase hbck -repair? ? ? ? ? ? #執(zhí)行hbase恢復(fù)命令葵腹,讓hbase引用distcp過來的hdfs表文件

[hbase@emr-ha-header-1 ~]# hbase shell? ? ? ? ? ? ? ? ? #進(jìn)入hbase shell檢查是否遷移成功

提示:根據(jù)親測經(jīng)驗(yàn)高每,若執(zhí)行hbase hbck -repair后在hbase shell中任然看不到遷移來的表,別急践宴,先喝杯茶稍等一會兒(內(nèi)網(wǎng)遷移通常1分鐘內(nèi))然后再重新執(zhí)行hbase hbck -repair命令鲸匿,

直到出現(xiàn)以下字幕,說明hbase遷移就要成功了浴井!

util.HBaseFsck: Sleeping 10000ms before re-checking after fix...

(猜測此問題可能是由于hdfs拷貝過來后有些異步操作未完成所導(dǎo)致)

step3:(若不是Phoenix+hbase架構(gòu)組合可忽略)

在上一步hbase shell檢查遷移成功之后晒骇,再測試Phoenix查詢,可能會出現(xiàn)在hbase shell中l(wèi)ist或者scan命令都完全正常磺浙,

但在Phoenix中看不到遷移過來的表洪囤,別急,因?yàn)镻hoenix還不知道你從hdfs遷移的表撕氧,經(jīng)過Google找到解決方法1:

1. 通過在Phoenix執(zhí)行create view ... 語句瘤缩,創(chuàng)建一個視圖就可以了(但后續(xù)還要維護(hù)視圖,如果不像創(chuàng)建view 可參考以下2方案)

2. 直接在Phoenix執(zhí)行create table ...語句伦泥,(警告:此方式可能會出現(xiàn)Huang住最后導(dǎo)致hbase某個節(jié)點(diǎn)宕機(jī)剥啤,親身經(jīng)歷!2桓府怯!

但也不是莫有辦法,親測一個巧妙的方法:在執(zhí)行create table 時無需等待執(zhí)行完成防楷,當(dāng)按下Enter鍵執(zhí)行后牺丙,立即Ctrl+C終止sqlline.py進(jìn)程

,然后重新打開sqlline.py复局,執(zhí)行!table命令就可以看到新遷移的表了)

三冲簿、FAQ:

1. 萬一誤覆蓋了Cluster-B的系統(tǒng)表如何恢復(fù)?亿昏?峦剔?(若操作正常可忽略)

step1:備份hbase在hdfs上的根目錄

[root@emr-ha-header-1 ~]# hadoop fs -mv /hbase /hbase_bak

step2:停掉hbase所有服務(wù)(若EMR新版角钩,可在阿里EMR控制臺stop hbase all)

step3:清除ZK里hbase的注冊信息(很關(guān)鍵吝沫,否則不會自動生成系統(tǒng)表)

[root@emr-ha-header-1 ~]# sh /usr/lib/zookeeper-current/bin/zkCli.sh -server 127.0.0.1:2181

[root@emr-ha-header-1 ~]# ls /

[root@emr-ha-header-1 ~]# rmr /hbase

step4:重新啟動hbase所有服務(wù)

step5:測試hbase是否自動生成

[root@emr-ha-header-1 ~]# hadoop fs -ls /? ? ? ? ? ? ? ? #查看hdfs里是否生成了 /hbase 目錄

[root@emr-ha-header-1 ~]# hbase shell? ? ? ? ? ? ? ? ? ? #進(jìn)入hbase shell

hbase(main):001:0> list? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #查看hbase里是否可見相應(yīng)的系統(tǒng)表SYSTEM.CATALOG呻澜、SYSTEM.FUNCTION 、SYSTEM.MUTEX野舶、SYSTEM.SEQUENCE易迹、SYSTEM.STATS等

TABLE

SYSTEM.CATALOG

SYSTEM.FUNCTION

SYSTEM.MUTEX

SYSTEM.SEQUENCE

SYSTEM.STATS

5 row(s) in 0.1010 seconds

... ...

恭喜,出現(xiàn)以上字幕即恢復(fù)成功平道!

2. 可否使用離線拷貝睹欲??一屋?(若無需離線拷貝可忽略)

step1:只需將distcp...命令改用 get窘疮、put通過本地中轉(zhuǎn)就行了(無關(guān)心執(zhí)行賬戶)

[root@emr-header-1 ~]$ hadoop fs -get /hbase/data/default/safeclound.tb_ammeter_analyze? ? ? ? ? ? #從源hbase集群下載業(yè)務(wù)表到本地? ? ? ?

step2:scp到目地hbase集群服務(wù)器

[root@emr-header-1 ~]$ tar -cvf safeclound.tb_ammeter_analyze.tar safeclound.tb_ammeter_analyze

[root@emr-header-1 ~]$ scp safeclound.tb_ammeter_analyze.tar root@target-hbase-master:/root

step3:在目地服務(wù)器上將業(yè)務(wù)表文件加載到hdfs(其中target-hbase-master安裝的是原生hbase且是默認(rèn)配置,因此在hdfs的數(shù)據(jù)文件路徑才是:/tmp/hbase-root/hbase/data/default/

冀墨,如果是阿里云的EMR闸衫,則在hdfs的數(shù)據(jù)路徑為:/hbase/data/default)

[root@target-hbase-master ~]# hadoop fs -put /root/safeclound.tb_ammeter_analyze/ /tmp/hbase-root/hbase/data/default/

step4:查看驗(yàn)證是否加載成功


[root@target-hbase-master ~]# hadoop fs -ls /tmp/hbase-root/hbase/data/default/

step5:接下來就同上面第二點(diǎn)的step2中的 運(yùn)行 hbase hbck -repair 命令一樣了。诽嘉。蔚出。

參考文獻(xiàn):

1.?hbase數(shù)據(jù)遷移介紹

2. hbase數(shù)據(jù)遷移之distcp

3. 若使用的是Phoenix+hbase組合,若Phoenix版本低于4.10升級到4.10之后虫腋,可能會出現(xiàn)除主鍵字段外其他字段都查不出數(shù)據(jù)骄酗,但在hbase shell中scan表又有數(shù)據(jù)的情況解決方案:phoenix官網(wǎng)

phoenix官網(wǎng)截圖:

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市悦冀,隨后出現(xiàn)的幾起案子趋翻,更是在濱河造成了極大的恐慌,老刑警劉巖盒蟆,帶你破解...
    沈念sama閱讀 206,378評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件踏烙,死亡現(xiàn)場離奇詭異,居然都是意外死亡历等,警方通過查閱死者的電腦和手機(jī)讨惩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來寒屯,“玉大人荐捻,你說我怎么就攤上這事『坡荩” “怎么了?”我有些...
    開封第一講書人閱讀 152,702評論 0 342
  • 文/不壞的土叔 我叫張陵仍侥,是天一觀的道長要出。 經(jīng)常有香客問我,道長农渊,這世上最難降的妖魔是什么患蹂? 我笑而不...
    開封第一講書人閱讀 55,259評論 1 279
  • 正文 為了忘掉前任或颊,我火速辦了婚禮,結(jié)果婚禮上传于,老公的妹妹穿的比我還像新娘囱挑。我一直安慰自己,他們只是感情好沼溜,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,263評論 5 371
  • 文/花漫 我一把揭開白布平挑。 她就那樣靜靜地躺著,像睡著了一般系草。 火紅的嫁衣襯著肌膚如雪通熄。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,036評論 1 285
  • 那天找都,我揣著相機(jī)與錄音唇辨,去河邊找鬼。 笑死能耻,一個胖子當(dāng)著我的面吹牛赏枚,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播晓猛,決...
    沈念sama閱讀 38,349評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼饿幅,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了鞍帝?” 一聲冷哼從身側(cè)響起诫睬,我...
    開封第一講書人閱讀 36,979評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎帕涌,沒想到半個月后摄凡,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,469評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蚓曼,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,938評論 2 323
  • 正文 我和宋清朗相戀三年亲澡,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片纫版。...
    茶點(diǎn)故事閱讀 38,059評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡床绪,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出其弊,到底是詐尸還是另有隱情癞己,我是刑警寧澤,帶...
    沈念sama閱讀 33,703評論 4 323
  • 正文 年R本政府宣布梭伐,位于F島的核電站痹雅,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏糊识。R本人自食惡果不足惜绩社,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,257評論 3 307
  • 文/蒙蒙 一摔蓝、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧愉耙,春花似錦贮尉、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至悯仙,卻和暖如春龄毡,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背锡垄。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工沦零, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人货岭。 一個月前我還...
    沈念sama閱讀 45,501評論 2 354
  • 正文 我出身青樓路操,卻偏偏與公主長得像,于是被迫代替她去往敵國和親千贯。 傳聞我的和親對象是個殘疾皇子屯仗,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,792評論 2 345

推薦閱讀更多精彩內(nèi)容

  • 入門指南 1. 簡介 Quickstart會讓你啟動和運(yùn)行一個單節(jié)點(diǎn)單機(jī)HBase。 2. 快速啟動 – 單點(diǎn)HB...
    和心數(shù)據(jù)閱讀 4,522評論 1 41
  • 參考:http://www.reibang.com/p/569106a3008f 最近在逐步跟進(jìn)Hbase的相關(guān)...
    博弈史密斯閱讀 846評論 1 1
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理搔谴,服務(wù)發(fā)現(xiàn)魁袜,斷路器,智...
    卡卡羅2017閱讀 134,599評論 18 139
  • 今天是國慶節(jié)放假的第二天敦第,一大早我家就忙著收玉米峰弹,家里有25畝地,有專用機(jī)器把玉米掰下來芜果,有的機(jī)器給去皮去的挺干凈...
    陽光所指閱讀 212評論 0 1
  • 我用了一個月左右的時間鞠呈,淡忘對他的感情, 可是他只是用了一個小時右钾,就又讓我深深地陷入蚁吝, 然后又難過了一周,因?yàn)闆]有...
    清然閱讀 168評論 5 1