1. DataNode工作機制
1)一個數據塊在DataNode上以文件形式存儲在磁盤上,包括兩個文件,一個是數據本身,一個是元數據包括數據塊的長度,塊數據的校驗和,以及時間戳。
2)DataNode啓動後向NameNode註冊,通過後,週期性(1小時)的向NameNode上報所有的塊信息。
3)心跳是每3秒一次,心跳返回結果帶有NameNode給該DataNode的命令如複製塊數據到另一臺機器,或刪除某個數據塊。如果超過10分鐘沒有收到某個DataNode的心跳,則認爲該節點不可用。
4)集羣運行中可以安全加入和退出一些機器。
2. 數據完整性
1)當DataNode讀取Block的時候,它會計算CheckSum。
2)如果計算後的CheckSum,與Block創建時值不一樣,說明Block已經損壞。
3)Client讀取其他DataNode上的Block。
4)DataNode在其文件創建後周期驗證CheckSum