hadoop 集群 rebalance 和磁盤(pán) 均衡

image.png

在我們使用hadoop集群的時(shí)候 憔儿,由于 日志 數(shù)據(jù)不斷流入寫(xiě)入到hdfs上肩钠,而且 算法人員 不斷的清洗 數(shù)據(jù)做特征工程 又會(huì)產(chǎn)生 新的中間數(shù)據(jù) 挡鞍,而且量一點(diǎn)都不小榆俺。
這個(gè)時(shí)候 hadoop 集群 就要面臨著 hdfs 空間擴(kuò)容 和 數(shù)據(jù)的 rebalance
hdfs 的擴(kuò)容 和磁盤(pán) 擴(kuò)容 有關(guān)售躁,在我上一片文章介紹了磁盤(pán) 擴(kuò)容 坞淮,集群各個(gè)節(jié)點(diǎn) 添加新的磁盤(pán) volume disk,然后把這些 格式化的disk 修改權(quán)限 添加到hadoop 的 hdfs yarn 的配置文件中陪捷,重啟hadoop 集群就可以了回窘。

但是 數(shù)據(jù)的rebalance 其實(shí)分好幾種 情況 ,如果我們 理解錯(cuò)誤了市袖,只能是浪費(fèi)時(shí)間啡直,不斷 在原地打轉(zhuǎn)
首先 rebalance policy 就分三種 ,主要還是 針對(duì)的粒度

A.DataNode級(jí)別的rebalance
B.BlockPool 級(jí)別的rebalance
C.Volume & Disk 級(jí)別的rebalance
在 hadoop 2.X 版本 只支持 A,B ,而 hadoop 3.0版本 支持 A,B,C,
不過(guò) 對(duì)于勤勞 勇敢的大數(shù)據(jù) 管理者來(lái)說(shuō)苍碟,可以迂回實(shí)現(xiàn) hadoop 2.X 版本 對(duì)C 的支持

首先 我們要 對(duì) 集群擴(kuò)容 也要客觀分三種種情況
D. 一種是 添加節(jié)點(diǎn) 酒觅,比如 原來(lái)的機(jī)器 一共有 1個(gè) NameNode 4個(gè) DataNode,突然 又添加了6個(gè)新的 DataNode微峰,這樣一來(lái)總共就有了 10個(gè)DataNode舷丹,
E. 一種 是在原來(lái)的節(jié)點(diǎn) 添加 磁盤(pán),比如 原來(lái)的機(jī)器 一共有 1個(gè) NameNode 4個(gè) DataNode蜓肆,其中每個(gè)DataNode 原來(lái)有5個(gè) 作為 DataNode的掛載磁盤(pán) volume颜凯,每一個(gè)磁盤(pán) 都是2T,這樣一來(lái)仗扬,整體的hdfs的總?cè)萘烤褪? 2T x5x4=40T症概,然后突然 為每個(gè)DataNode節(jié)點(diǎn)再各添加 兩個(gè)3T的 volume,這樣一來(lái) hdfs 的新的總?cè)萘烤褪?br> 2Tx5x4 +3Tx2x4=64T早芭,
F. 最后一種就是 D E 的結(jié)合體 彼城,即 增加DataNode 節(jié)點(diǎn)數(shù)量又增添每個(gè)DataNode的磁盤(pán)掛載量。

在 hadoop 2.X 版本的默認(rèn)只支持 A B退个,如果不同DataNode節(jié)點(diǎn)的 各個(gè)掛載的總磁盤(pán)量 發(fā)生了 不平衡精肃,可以通過(guò) start-balance.sh 或者 hdfs balancer 兩種 方式 啟動(dòng) balance
程序,如果 不同 blockpool 不平衡 就啟動(dòng) -policy blockpool 形式的 即可帜乞。
對(duì)于 A B 參考 http://blog.csdn.net/jiangshouzhuang/article/details/51879102

image.png

https://www.cloudera.com/documentation/enterprise/5-6-x/topics/admin_hdfs_balancer.html

image.png

https://community.hortonworks.com/articles/87440/hdfs-balancer-balancing-data-between-disks-on-a-da.html

image.png

但是一定要注意的 就是 在 一個(gè)DataNode 內(nèi)部 司抱,如果 出現(xiàn)了 掛載的多個(gè)磁盤(pán) 寫(xiě)入量百分比 差別巨大,hdfs-balancer 是無(wú)能無(wú)力的黎烈,即使啟動(dòng)了习柠,還是會(huì)沒(méi)有報(bào)錯(cuò)的退出,因?yàn)?hadoop balancer 無(wú)法偵查到這種 單個(gè)DataNode 的 disk 之間數(shù)據(jù)不平衡照棋,如果所有節(jié)點(diǎn)的 DataNode的總磁盤(pán)寫(xiě)入都差不多的話资溃,hadoop 認(rèn)為 你的集群是平衡狀態(tài)的,麻蛋烈炭,就是這么任性溶锭。不管你怎么 調(diào)整參數(shù) 他都是無(wú)動(dòng)于衷的。

image.png
image.png

但是hadoop 2.x 也是可以可以迂回實(shí)現(xiàn) disk 級(jí)別的rebalance 就是 在 hdfs-site.xml中設(shè)置 每塊磁盤(pán)的預(yù)留空間符隙,比如當(dāng)你設(shè)置預(yù)留 30G,當(dāng)某塊磁盤(pán) 快只剩下30G的時(shí)候趴捅,DataNode在寫(xiě)入的時(shí)候就會(huì)忽略掉他垫毙,去 寫(xiě)到別的掛載磁盤(pán)上,這個(gè)其實(shí)還是不夠友好拱绑,萬(wàn)一 一個(gè)DataNode 掛載的好幾款不同大小的磁盤(pán)综芥,有50G 500G 1T 2T 3T,設(shè)置 30G,顯然對(duì)50G影響是最大的,如果是百分比才是比較現(xiàn)實(shí)的選項(xiàng)猎拨,另外磁盤(pán)按道理一定要預(yù)留空間是有原因的膀藐,如果 沒(méi)有空間了,你連 mapreduce job 都 跑不了了红省,必須的额各,詳勘我之前寫(xiě)的 job 卡死的原因

image.png

<property>
<name>dfs.datanode.du.reserved</name>
<value>82212254720</value>

</property>

另外就是啟動(dòng) 磁盤(pán)的自 我 banlancer ,其實(shí)這個(gè)按道理在hadoop 2.x不會(huì)生效的屬性吧恃,但是在hadoop 3.x 是支持的啊臊泰,求安慰吧,萬(wàn)一hadoop 2.x你寫(xiě)上了有點(diǎn)作用呢
<property>
<name>dfs.disk.balancer.enabled</name>
<value>true</value>
</property>

這些就是hadoop 2.x 的迂回策略 rebalance 蚜枢,對(duì)于 DataNode 級(jí)別在 D F 情況下是肯定會(huì)起作用的缸逃, 肯定DataNode的磁盤(pán)使用量是有區(qū)別,前提是 達(dá)到我說(shuō)的 需要 balancer的閾值了 在 -threshould 中你可以設(shè)置閾值厂抽,達(dá)到閾值后 hadoop 就會(huì)認(rèn)為 整個(gè)集群的DataNode是已經(jīng)平衡了

對(duì)于hadoop 3.x 版本的 DataNode blockPool policy rebalance 和2.x 應(yīng)該是相同的需频,額外的選項(xiàng)是多了 diskbalancer 的命令 這個(gè)命令的執(zhí)行 也是挺講究的
需要先做plan 然后 excute 最后query
大家可以參考 這篇 https://www.iteblog.com/archives/1905.html
http://blog.csdn.net/jsjsjs1789/article/details/73997497

當(dāng)然 我說(shuō)的磁盤(pán)均衡和 rebalance 是 一個(gè) 治病的過(guò)程 ,如果不生病是 最好的筷凤,所以就要未雨綢繆 昭殉,預(yù)防為主,盡量讓 hdfs 自愈就更好不過(guò)了 藐守,當(dāng)然也是有方法的挪丢, 比如 讓hdfs 優(yōu)先往新盤(pán) 寫(xiě)入數(shù)據(jù) ,改變 hdfs 的默認(rèn)寫(xiě)入策略卢厂,監(jiān)控 各個(gè)磁盤(pán)寫(xiě)入差額 啟動(dòng)自平衡乾蓬。
<property>
<name>dfs.datanode.fsdataset.volume.choosing.policy</name>
<value>org.apache.hadoop.hdfs.server.datanode.fsdataset.AvailableSpaceVolumeChoosingPolicy</value>
</property>

<property>
    <name>dfs.datanode.available-space-volume-choosing-policy.balanced-space-threshold</name>
    <value>20737418240</value> <!-- 20 GB -->
</property>

<property>
    <name>dfs.datanode.available-space-volume-choosing-policy.balanced-space-preference-fraction</name>
    <value>1.0f</value>
</property>

balance 源代碼的研究 http://blog.csdn.net/tracymkgld/article/details/18358455

http://blog.csdn.net/xinganshenguang/article/details/55810047

另外 阿里云的 rebalance
https://yq.aliyun.com/articles/60406
https://yq.aliyun.com/articles/183113
https://yq.aliyun.com/articles/100912

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市慎恒,隨后出現(xiàn)的幾起案子任内,更是在濱河造成了極大的恐慌,老刑警劉巖融柬,帶你破解...
    沈念sama閱讀 223,002評(píng)論 6 519
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件死嗦,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡粒氧,警方通過(guò)查閱死者的電腦和手機(jī)越除,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,357評(píng)論 3 400
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人摘盆,你說(shuō)我怎么就攤上這事翼雀。” “怎么了骡澈?”我有些...
    開(kāi)封第一講書(shū)人閱讀 169,787評(píng)論 0 365
  • 文/不壞的土叔 我叫張陵锅纺,是天一觀的道長(zhǎng)掷空。 經(jīng)常有香客問(wèn)我肋殴,道長(zhǎng),這世上最難降的妖魔是什么坦弟? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 60,237評(píng)論 1 300
  • 正文 為了忘掉前任护锤,我火速辦了婚禮,結(jié)果婚禮上酿傍,老公的妹妹穿的比我還像新娘烙懦。我一直安慰自己,他們只是感情好赤炒,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,237評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布氯析。 她就那樣靜靜地躺著,像睡著了一般莺褒。 火紅的嫁衣襯著肌膚如雪掩缓。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 52,821評(píng)論 1 314
  • 那天遵岩,我揣著相機(jī)與錄音你辣,去河邊找鬼。 笑死尘执,一個(gè)胖子當(dāng)著我的面吹牛舍哄,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播誊锭,決...
    沈念sama閱讀 41,236評(píng)論 3 424
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼表悬,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了丧靡?” 一聲冷哼從身側(cè)響起签孔,我...
    開(kāi)封第一講書(shū)人閱讀 40,196評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎窘行,沒(méi)想到半個(gè)月后饥追,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,716評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡罐盔,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,794評(píng)論 3 343
  • 正文 我和宋清朗相戀三年但绕,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,928評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡捏顺,死狀恐怖六孵,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情幅骄,我是刑警寧澤劫窒,帶...
    沈念sama閱讀 36,583評(píng)論 5 351
  • 正文 年R本政府宣布,位于F島的核電站拆座,受9級(jí)特大地震影響主巍,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜挪凑,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,264評(píng)論 3 336
  • 文/蒙蒙 一孕索、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧躏碳,春花似錦搞旭、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,755評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至咬最,卻和暖如春翎嫡,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背丹诀。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,869評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工钝的, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人铆遭。 一個(gè)月前我還...
    沈念sama閱讀 49,378評(píng)論 3 379
  • 正文 我出身青樓硝桩,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親枚荣。 傳聞我的和親對(duì)象是個(gè)殘疾皇子碗脊,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,937評(píng)論 2 361

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