hadoop HDFS冗餘資料塊的自動刪除
阿新 • • 發佈:2018-12-09
在日常維護hadoop叢集的過程中發現這樣一種情況: 某個節點由於網路故障或者DataNode程序死亡,被NameNode判定為死亡, HDFS馬上自動開始資料塊的容錯拷貝; 當該節點重新新增到叢集中時,由於該節點上的資料其實並沒有損壞, 所以造成了HDFS上某些block的備份數超過了設定的備份數。 通過觀察發現,這些多餘的資料塊經過很長的一段時間才會被完全刪除掉, 那麼這個時間取決於什麼呢? 該時間的長短跟資料塊報告的間隔時間有關。 Datanode會定期將當前該結點上所有的BLOCK資訊報告給Namenode, 引數dfs.blockreport.intervalMsec就是控制這個報告間隔的引數。 hdfs-site.xml檔案中有一個引數:<property> <name>dfs.blockreport.intervalMsec</name> <value>10000</value> <description>Determines block reporting interval in milliseconds.</description> </property>