HadoopHDFSBalancer-創(chuàng)新互聯(lián)

Hadoop HDFS Balancer

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了灌云免費(fèi)建站歡迎大家使用!

  Hadoop的HDFS集群非常容易出現(xiàn)機(jī)器與機(jī)器之間磁盤利用率不平衡的情況,比如集群中添加新的數(shù)據(jù)節(jié)點。當(dāng)HDFS出現(xiàn)不平衡狀況的時候,將引發(fā)很多問題,比如MR程序無法很好地利用本地計算的優(yōu)勢,機(jī)器之間無法達(dá)到更好的網(wǎng)絡(luò)帶寬使用率,機(jī)器磁盤無法利用等等??梢?,保證HDFS中的數(shù)據(jù)平衡是非常重要的。

  在Hadoop中,包含一個Balancer程序,通過運(yùn)行這個程序,可以使得HDFS集群達(dá)到一個平衡的狀態(tài),使用這個程序的命令如下:

sh $HADOOP_HOME/bin/start-balancer.sh –t 10%

sh $HADOOP_HOME/bin/stop-balancer.sh

這個命令中-t參數(shù)后面跟的是HDFS達(dá)到平衡狀態(tài)的磁盤使用率偏差值。如果機(jī)器與機(jī)器之間磁盤使用率偏差小于10%,那么我們就認(rèn)為HDFS集群已經(jīng)達(dá)到了平衡的狀態(tài)。

  影響hadoop balance工具的幾個參數(shù):

-threshold 默認(rèn)設(shè)置:10,參數(shù)取值范圍:0-100,參數(shù)含義:判斷集群是否平衡的目標(biāo)參數(shù),每一個 datanode 存儲使用率和集群總存儲使用率的差值都應(yīng)該小于這個閥值 ,理論上,該參數(shù)設(shè)置的越小,整個集群就越平衡,但是在線上環(huán)境中,hadoop集群在進(jìn)行balance時,還在并發(fā)的進(jìn)行數(shù)據(jù)的寫入和刪除,所以有可能無法到達(dá)設(shè)定的平衡參數(shù)值。

dfs.balance.bandwidthPerSec  默認(rèn)設(shè)置:1048576(1 M/S),參數(shù)含義:設(shè)置balance工具在運(yùn)行中所能占用的帶寬,設(shè)置的過大可能會造成mapred運(yùn)行緩慢

  hadoop balance工具其他特點:

balance工具在運(yùn)行過程中,迭代的將文件塊從高使用率的datanode移動到低使用率的datanode上,每一個迭代過程中移動的數(shù)據(jù)量不超過下面兩個值的較小者:10G或者指定閥值*容量,且每次迭代不超過20分鐘。每次迭代結(jié)束后,balance工具將更新該datanode的文件塊分布情況。以下為官方文檔英文描述:

The  tool moves  blocks from  highly utilized datanodes  to  poorly utilized datanodes iteratively. In each iteration a datanode moves or receives no more than the lesser of 10G bytes or the threshold fraction of its capacity. Each iteration runs no more than 20 minutes. At the end of each iteration, the balancer obtains updated datanodes information from the namenode.

    Hadoop的開發(fā)人員在開發(fā)Balancer程序的時候,遵循了以下幾點原則:

1.在執(zhí)行數(shù)據(jù)重分布的過程中,必須保證數(shù)據(jù)不能出現(xiàn)丟失,不能改變數(shù)據(jù)的備份數(shù),不能改變每一個rack中所具備的block數(shù)量。

2.系統(tǒng)管理員可以通過一條命令啟動數(shù)據(jù)重分布程序或者停止數(shù)據(jù)重分布程序。

3.Block在移動的過程中,不能暫用過多的資源,如網(wǎng)絡(luò)帶寬。

4.數(shù)據(jù)重分布程序在執(zhí)行的過程中,不能影響name node的正常工作。

基于這些基本點,目前Hadoop數(shù)據(jù)重分布程序?qū)崿F(xiàn)的邏輯流程如下圖所示:

Hadoop HDFS Balancer

Rebalance程序作為一個獨立的進(jìn)程與name node進(jìn)行分開執(zhí)行。

1 Rebalance Server從Name Node中獲取所有的Data Node情況:每一個Data Node磁盤使用情況。

2 Rebalance Server計算哪些機(jī)器需要將數(shù)據(jù)移動,哪些機(jī)器可以接受移動的數(shù)據(jù)。并且從Name Node中獲取需要移動的數(shù)據(jù)分布情況。

3 Rebalance Server計算出來可以將哪一臺機(jī)器的block移動到另一臺機(jī)器中去。

4,5,6 需要移動block的機(jī)器將數(shù)據(jù)移動的目的機(jī)器上去,同時刪除自己機(jī)器上的block數(shù)據(jù)。

7  Rebalance Server獲取到本次數(shù)據(jù)移動的執(zhí)行結(jié)果,并繼續(xù)執(zhí)行這個過程,一直沒有數(shù)據(jù)可以移動或者HDFS集群以及達(dá)到了平衡的標(biāo)準(zhǔn)為止。

Hadoop現(xiàn)有的這種Balancer程序工作的方式在絕大多數(shù)情況中都是非常適合的。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

標(biāo)題名稱:HadoopHDFSBalancer-創(chuàng)新互聯(lián)
網(wǎng)站URL:http://bm7419.com/article16/dehhdg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、App開發(fā)、網(wǎng)站營銷、微信公眾號、Google、云服務(wù)器

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名