問題發現:
經巡檢,服務器中一台節點的hadoop磁盤占用過多,是其它節點的三倍,導致數據嚴重不均衡。
解決過程:
兩種命令:
- hadoop的bin目錄下,運行命令start-balancer.sh -threshold 5
- hdfs balancer -threshold 5
兩者的執行效果是一樣的
參數詳解:
-threshold 10 集群平衡的條件,datanode間磁盤使用率相差閾值,區間選擇:0~100, Threshold參數為集群是否處於均衡狀態設置了一個目標
-policy datanode 默認為datanode,datanode級別的平衡策略
-exclude -f /tmp/ip1.txt 默認為空,指定該部分ip不參與balance, -f:指定輸入為文件
-include -f /tmp/ip2.txt 默認為空,只允許該部分ip參與balance,-f:指定輸入為文件
-idleiterations 5 迭代次數,默認為 5
執行完成后,當前節點恢復正常,數據被分配到了其他節點:
好久不寫了,還是拿出一些之前的一些記錄整理了一下,比較簡單,以供參考!