hadoop2.0之HDFS集羣管理:HeartbeatManager及其報告週期問題

心跳管理器主要用於管理DataNode的心跳,如果某DataNode在一段時間內(10分30秒)停止與NameNode發生心跳,則會將該DataNode直接標記爲死亡節點,而不是先退役,因爲可能該DN真的已經死亡了,而不用經歷退役階段。爲了不引起一連串的DataNode被標記爲死亡,每次只允許一個DataNode節點被聲明爲死亡,並從DatanodeManager,heartbeatManager,networktopology,blockManager中刪除信息。

默認情況下,DataNode心跳的時間間隔是3秒,如果加大該時間間隔是否會引入一些問題呢?

1、 無效塊刪除:該功能影響比較小,因爲即使在一段時間內,沒有刪除該塊,也不會造成數據丟失,只會佔用部分磁盤空間;

2、 塊副本不足:對該功能影響比較大,發現集羣中副本數目不足,應該及時地冗餘,否則可能因爲DataNode出現故障加大丟失數據的風險;

文件讀寫:如果讀寫頻繁,NameNode沒有及時的收集到DataNode剩餘空間,可能會造成部分DataNode寫數據塊失敗。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章