HDFS(Hadoop Distributed File System)
Hadoop分佈式文件系統,爲Hadoop這個分佈式計算框架提供高性能、高可靠、高可擴展的存儲服務。
1.1 HDFS系統架構
HDFS的系統架構是典型的主/從架構,包括一個NameNode節點(主節點)和多個DataNode節點(從節點),並提供應用程序訪問接口。NameNode是整個文件系統的管理節點,它負責文件系統名字空間(Namespace)的管理與維護,同時負責客戶端文件操作的控制以及具體存儲任務的管理與分配。
DataNode提供真實文件數據的存儲服務。
1.2 HA (High Availability)定義
1.3 HDFS HA原因分析及應對措施
1.4 現有HDFS HA解決方案
- Hadoop自帶機制,成熟可靠,使用簡單,無需開發。
- 元數據有多個備份,有效保證元數據的可靠性,並且內容保持最新狀態。
- 元數據需要同步寫入多個備份目錄,效率低於單個NameNode 。
- 沒有做到熱備,HDFS恢復服務時,需要重新啓動NameNode ,恢復時間與文件系統規模成正比。
- NFS共享的可靠性問題,且多個目錄中任何一個目錄的保存因爲異常而阻塞,將會導致整個HDFS的操作阻塞。
- Hadoop自帶機制,成熟可靠,使用簡單,無需開發。
- Secondary定期做Checkpoint,可保證各個Checkpoint階段的元數據的可靠性,同時,進行fsimage和edits的合併,有效限制edits的大小,防止其無限增長。
- 沒有做到熱備,HDFS恢復服務時,需要重新啓動NameNode ,恢復時間與文件系統規模成正比。
- Secondary NameNode 保存的只是Checkpoint 時刻的元數據,不是最新數據 ,存在一致性問題。
1.5 方案優缺點比較
方案名稱 | 切換時間 | 元數據一致性 | 是否做checkpoint | 使用複雜度 | 成熟度 | 相關資料 |
元數據備份 | 長 | 一致 | 否 | 低 | 高 | 較多 |
Secondary NameNode | 長 | 不一定 | 是 | 中 | 高 | 較多 |
Checkpoint Node | 長 | 不一定 | 是 | 中 | 高 | 較少 |
Backup Node | 中 | 一致 | 是 | 中 | 中 | 較少 |
DRBD | 長 | 一致 | 否 | 高 | 高 | 多 |
AvatarNode | 短 | 一致 | 是 | 高 | 高 | 少 |