我們的Hadoop集羣每天報告有「低複製塊」。它通過Cloudera Manager進行管理。健康警語的一個例子是:HDFS重複發生的錯誤:低複製塊
! Under-Replicated Blocks
Concerning: 767 under replicated blocks in the cluster. 3,115 total blocks in the cluster. Percentage under replicated blocks: 24.62%. Warning threshold: 10.00%.
我已經運行能解決問題的命令,但是第二天早晨報警又回來了,有時並沒有添加任何新數據。其中暫時停止成功的命令是
hdfs dfs -setrep -R 2 /*
我也曾嘗試another recommended command
su hdfs
hdfs fsck/| grep 'Under replicated' | awk -F':' '{print $1}' >> /tmp/under_replicated_files
for hdfsfile in `cat /tmp/under_replicated_files`; do echo "Fixing $hdfsfile :" ; hadoop fs -setrep 2 $hdfsfile; done
雙方做工作,但解決方法是不是永久性的。
在Cloudera Manager中,Replication Factor
和Minimal Block Replication
都設置爲2
。
由於這個問題只發生在大約每24小時一次,所以嘗試修復是困難和耗時的,試錯法是我唯一的手段。我不知道爲什麼這個錯誤不斷回來!任何建議,將不勝感激。通過設置在Cloudera的經理以下HDFS配置解決由於
基本上,如果您有一個數據未完全複製的HDFS應該自動將這些塊複製到其他數據節點以匹配複製因子。 您還可以運行CM> HDFS> Actions下拉菜單中給出的Balancer來修復此錯誤。 集羣中有多少個數據節點?您是否通過NN Web UI看到哪些文件具有複製塊?這些文件是否是由作業創建的臨時文件。您是否看到一旦相關工作完成後,這些警告是否會在沒有做任何事情的情況下消失? – Salim
你有沒有和問題發生時一樣的節奏運行的工作? – tk421
@ tk421不幸的是,它似乎沒有任何數據攝入工作(或任何工作,就此而言)運行 – Smittey