一篇文章教你自建hadoop集群遷移到EMR

自建集群要遷移到EMR集群溶弟,往往需要遷移已有數(shù)據(jù)沙廉。本文主要介紹hdfs數(shù)據(jù)和hive meta數(shù)據(jù)如何遷移扶叉。

前置

已按需求創(chuàng)建好EMR集群嗓节。

遷移hdfs數(shù)據(jù)

主要依靠distcp,核心是打通網(wǎng)絡(luò)荧缘,確定hdfs參數(shù)和要遷移內(nèi)容,測速拦宣,遷移截粗。

網(wǎng)絡(luò)

需要自建集群和EMR各個節(jié)點網(wǎng)絡(luò)互通。同為VPC網(wǎng)絡(luò)只需要同一個安全組鸵隧,不同的安全組需要設(shè)置安全組互通绸罗。

如果自建集群是經(jīng)典網(wǎng)絡(luò),EMR集群是vpc掰派,網(wǎng)絡(luò)訪問需要設(shè)置CLASSICLINK.參見文檔,詳情可以咨詢ECS客服从诲。

設(shè)置后可以在新集群節(jié)點上ssh 老集群節(jié)點確定網(wǎng)絡(luò)連通情況,distcp操作如果有xx 節(jié)點無法連接xx節(jié)點的異常靡羡,說明沒有連通,需要繼續(xù)設(shè)置俊性。

hdfs權(quán)限配置確認(rèn)

hdfs有權(quán)限設(shè)置略步,確定老集群是否有acl規(guī)則,是否要同步定页,檢查dfs.permissions.enabled 和dfs.namenode.acls.enabled的配置新老集群是否一致趟薄,按照實際需要修改。

如果有acl規(guī)則要同步典徊,distcp參數(shù)要加-p同步權(quán)限參數(shù)杭煎。如果distcp操作提示xx集群不支持acl,說明對應(yīng)集群沒配置卒落。新集群沒配置可以修改配置并重啟NM羡铲。舊集群不支持,說明舊集群根本就沒有acl方面的設(shè)置儡毕,也不需要同步也切。

同步參數(shù)

一般在新集群上運行同步,這樣同步的作業(yè)可以在新集群上運行,對老集群影響較小雷恃。

distcp參數(shù)細(xì)節(jié)疆股,一般命令格式如下:

hadoop distcp -Ddfs.replication=3 -pbugpcax -m 1000 -bandwidth 30 hdfs://oldclusterip:8020 /user/hive/warehouse /user/hive/

注意事項:

hdfs://oldclusterip:8020寫老集群nameode ip,多個namenode寫當(dāng)前active的倒槐。

指定了副本數(shù)3旬痹,如想保留原有副本數(shù)-p后加r如-prbugpcax。如果不同步權(quán)限和acl讨越,-p后去掉p和a两残。

-m指定map數(shù),和集群規(guī)模谎痢,數(shù)據(jù)量有關(guān)磕昼。比如集群有2000核cpu,就可以指定2000個map节猿。 -bandwidth指定單個map的同步速度票从,是靠控制副本復(fù)制速度實現(xiàn)的,是大概值滨嘱。

4.遷移整體速度受集群間帶寬峰鄙,集群規(guī)模影響。同時文件越多太雨,checksum需要的時間越長吟榴。如果遷移數(shù)據(jù)量大,可以先試著同步幾個目錄評估一下整體時間囊扳。如果只能在指定時間段內(nèi)同步吩翻,可以將目錄切為幾個小目錄,依次同步锥咸。

5.如果遷移過程中老集群還有寫入狭瞎,可以用-udpate再將變化同步過來。

6.一般完全同步搏予,需要有個短暫的業(yè)務(wù)停寫熊锭,以啟用雙寫雙算或直接將業(yè)務(wù)切換到新集群上。

hive meta數(shù)據(jù)同步

hive meta數(shù)據(jù)同步雪侥,本質(zhì)是hive meta db碗殷,一般是mysql db的數(shù)據(jù)同步。和一般的mysql數(shù)據(jù)同步相比速缨,要注意location改變锌妻,和hive版本對齊。

meta db設(shè)置

meta數(shù)據(jù)較多時鸟廓,一般推薦用rds作為meta db从祝。自建集群可能已有一個rds db襟己,由于location不同,一般需要新建一個數(shù)據(jù)庫牍陌。最佳實踐是跟EMR集群在一個可用區(qū)擎浴,一個vpc 安全組下新建一個rds 數(shù)據(jù)庫。

登錄新集群master節(jié)點(如果是ha集群兩個master都需要)毒涧,修改/usr/local/emr/emr-agent/run/meta_db_info.json贮预,把里面的use_local_meta_db設(shè)置為false,meta數(shù)據(jù)庫信息的鏈接地址契讲、用戶名和密碼換成新建rds的信息仿吞。然后重啟hive組件的metaserver。

初始化meta的表信息:

···

cd /usr/lib/hive-current/bin

./schematool - initSchema -dbType mysql

···

location

hive的表捡偏,分區(qū)等信息是有l(wèi)ocation信息的唤冈,帶dfs nameservices前綴,如hdfs://mycluster:8020/银伟,而EMR集群的nameservices前綴是統(tǒng)一的emr-cluster,所以需要訂正你虹。訂正的最佳方式是先導(dǎo)出數(shù)據(jù)mysqldump --databases hivemeta --single-transaction -u root –p > hive_databases.sql,用sed替換hdfs://oldcluster:8020/為hdfs://emr-cluster/ ,再導(dǎo)入新db中。

mysql hivemeta -p < hive_databases.sql

版本對齊

EMR的hive版本一般是當(dāng)前社區(qū)最新的穩(wěn)定版彤避,自建集群hive版本可能會更老傅物,所以導(dǎo)入的舊版本數(shù)據(jù)可能不能直接使用。需要執(zhí)行hive的升級腳本琉预,地址董饰。例如hive從1.2升級到2.3.0,需要依次執(zhí)行upgrade-1.2.0-to-2.0.0.mysql.sql圆米,upgrade-2.0.0-to-2.1.0.mysql.sql卒暂,upgrade-2.1.0-to-2.2.0.mysql.sql,upgrade-2.2.0-to-2.3.0.mysql.sql娄帖。腳本主要是建表介却,加字段,改內(nèi)容块茁,如有表已存在,字段已存在的異彻鸺。可以忽略数焊。

驗證

meta數(shù)據(jù)全部訂正后,就可以重啟metaserver了崎场。命令行hive佩耳,查詢庫和表,查詢數(shù)據(jù)谭跨,驗證正確性干厚。

結(jié)語

感謝您的觀看李滴,如有不足之處,歡迎批評指正蛮瞄。

如果有對大數(shù)據(jù)感興趣的小伙伴或者是從事大數(shù)據(jù)的老司機可以加群:

658558542? ??

歡迎大家交流分享所坯,學(xué)習(xí)交流,共同進(jìn)步挂捅。(里面還有大量的免費資料芹助,幫助大家在成為大數(shù)據(jù)工程師,乃至架構(gòu)師的路上披荊斬棘O邢取)

最后祝福所有遇到瓶頸的大數(shù)據(jù)程序員們突破自己状土,祝福大家在往后的工作與面試中一切順利。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末伺糠,一起剝皮案震驚了整個濱河市蒙谓,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌训桶,老刑警劉巖累驮,帶你破解...
    沈念sama閱讀 219,427評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異渊迁,居然都是意外死亡慰照,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,551評論 3 395
  • 文/潘曉璐 我一進(jìn)店門琉朽,熙熙樓的掌柜王于貴愁眉苦臉地迎上來毒租,“玉大人,你說我怎么就攤上這事箱叁∈澹” “怎么了?”我有些...
    開封第一講書人閱讀 165,747評論 0 356
  • 文/不壞的土叔 我叫張陵耕漱,是天一觀的道長算色。 經(jīng)常有香客問我,道長螟够,這世上最難降的妖魔是什么灾梦? 我笑而不...
    開封第一講書人閱讀 58,939評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮妓笙,結(jié)果婚禮上若河,老公的妹妹穿的比我還像新娘。我一直安慰自己寞宫,他們只是感情好萧福,可當(dāng)我...
    茶點故事閱讀 67,955評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著辈赋,像睡著了一般鲫忍。 火紅的嫁衣襯著肌膚如雪膏燕。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,737評論 1 305
  • 那天悟民,我揣著相機與錄音坝辫,去河邊找鬼。 笑死逾雄,一個胖子當(dāng)著我的面吹牛阀溶,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播鸦泳,決...
    沈念sama閱讀 40,448評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼银锻,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了做鹰?” 一聲冷哼從身側(cè)響起击纬,我...
    開封第一講書人閱讀 39,352評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎钾麸,沒想到半個月后更振,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,834評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡饭尝,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,992評論 3 338
  • 正文 我和宋清朗相戀三年肯腕,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片钥平。...
    茶點故事閱讀 40,133評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡实撒,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出涉瘾,到底是詐尸還是另有隱情知态,我是刑警寧澤,帶...
    沈念sama閱讀 35,815評論 5 346
  • 正文 年R本政府宣布立叛,位于F島的核電站负敏,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏秘蛇。R本人自食惡果不足惜其做,卻給世界環(huán)境...
    茶點故事閱讀 41,477評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望赁还。 院中可真熱鬧庶柿,春花似錦、人聲如沸秽浇。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,022評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽柬焕。三九已至审残,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間斑举,已是汗流浹背搅轿。 一陣腳步聲響...
    開封第一講書人閱讀 33,147評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留富玷,地道東北人璧坟。 一個月前我還...
    沈念sama閱讀 48,398評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像赎懦,于是被迫代替她去往敵國和親雀鹃。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,077評論 2 355

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