hadoop2.0之HDFS集羣管理:PendingReplicationMonitor

            如果一個數據塊需要冗餘,會將其加入pendingReplications集合,如果塊副本冗餘完畢到某DataNode節點,該DN節點會報告給NameNode,然後NameNode從pendingReplications將塊刪除,如果一致沒報告上來,會在一定時間範圍內存儲在pendingReplications內。pendingReplications爲Map<Block,PendingBlockInfo>類型集合,鍵爲PendingBlockInfo類,該類包含了一個正在被冗餘的塊的信息,包含了系統開始冗餘該塊副本的時間,也記錄了正在處理的塊的副本數量,而PendingReplicationMonitor類就負責掃描pendingReplications內冗餘請求超時的塊,默認掃描週期爲5分鐘,超時時間也爲5分鐘,如果PendingReplicationMonitor內記錄的時間戳timeStamp超過5分鐘,則將該塊加入timedOutItems集合,該集合會在後面的ReplicationMonitor管理器用到,會將該集合內存儲的塊再次放到neededReplications集合裏面去。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章