hadoop磁盤空間不均衡的解決辦法


hadoop集群在運行一段時間后,總是會出現某台機器的磁盤使用率特別高,有的使用率特別低,針對這種情況,hadoop提供了balancer工具調整磁盤負載
使用命令:start-balancer.sh -threshold 1
影響hadoop balance工具的幾個參數:
-threshold 默認設置:10,參數取值范圍:0-100,參數含義:判斷集群是否平衡的目標參數,每一個 datanode 存儲使用率和集群總存儲使用率的差值都應該小於這個閥值 ,理論上,該參數設置的越小,整個集群就越平衡,但是在線上環境中,hadoop集群在進行balance時,還在並發的進行數據的寫入和刪除,所以有可能無法到達設定的平衡參數值。
dfs.balance.bandwidthPerSec 默認設置:1048576(1 M/S),參數含義:設置balance工具在運行中所能占用的帶寬,設置的過大可能會造成mapred運行緩慢

由於需要經常執行這個,我們可以把它加入到linux的定時任務中,每天或每幾個小時執行一次
創建文件hdfs_balancer_cron.cron

# 每隔6小時平衡hdfs數據,creator:huqiang
* */6 * * * hdfs_balancer.sh

創建hdfs_balancer.sh

#平衡hdfs占用空間
hdfs dfsadmin -setBalancerBandwidth 67108864
sleep 3s
start-balancer.sh -threshold 1

執行 crontab hdfs_balancer_cron.cron

參考:http://blog.csdn.net/azhao_dn/article/details/7741666


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM