天天看點

【原創】大資料基礎之Hadoop(3)hdfs diskbalancer

hdfs單個節點内多個磁盤不均衡時(比如新加磁盤),需要手工進行diskbalancer操作,指令如下

其中thresholdPercentage的注釋有歧義,看起來是根據絕對值進行均衡的,檢視代碼

org.apache.hadoop.hdfs.server.diskbalancer.datamodel.DiskBalancerVolumeSet

主要有兩個函數,

computeVolumeDataDensity:檢視一個盤的資料密度,計算方法為 目前盤的空間占用比例(dfsUsedRatio)- 所有盤的空間占用比例(idealUsed)

isBalancingNeeded:判斷一個盤是否需要均衡,即資料密度的絕對值是否超過參數設定(thresholdPercentage)

是以實際均衡的時候考慮的是空間占用比例,而不是空間占用絕對值

---------------------------------------------------------------- 結束啦,我是大魔王先生的分割線 :) ----------------------------------------------------------------

由于大魔王先生能力有限,文中可能存在錯誤,歡迎指正、補充! 感謝您的閱讀,如果文章對您有用,那麼請為大魔王先生輕輕點個贊,ありがとう