真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網站制作重慶分公司

HadoopHDFSBalancer

Hadoop HDFS Balancer

成都創(chuàng)新互聯(lián)公司是一家專業(yè)提供港南企業(yè)網站建設,專注與網站設計制作、成都網站建設、H5建站、小程序制作等業(yè)務。10年已為港南眾多企業(yè)、政府機構等服務。創(chuàng)新互聯(lián)專業(yè)網站制作公司優(yōu)惠進行中。

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

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

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

sh $HADOOP_HOME/bin/stop-balancer.sh

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

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

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

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

    hadoop balance工具其他特點:

balance工具在運行過程中,迭代的將文件塊從高使用率的datanode移動到低使用率的datanode上,每一個迭代過程中移動的數(shù)據(jù)量不超過下面兩個值的較小者:10G或者指定閥值*容量,且每次迭代不超過20分鐘。每次迭代結束后,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在移動的過程中,不能暫用過多的資源,如網絡帶寬。

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

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

Hadoop HDFS Balancer

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

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

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

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

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

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

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


網頁名稱:HadoopHDFSBalancer
轉載注明:http://weahome.cn/article/jshjsh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部