HDFS配置高可用性需通過主備NameNode、JournalNode、ZooKeeper等組件協作實現,核心步驟如下:
集群規劃
配置關鍵參數(hdfs-site.xml)
dfs.nameservices
:定義集群邏輯名稱(如mycluster
)。dfs.ha.namenodes.<nameservice_id>
:列出NameNode ID(如nn1,nn2
)。dfs.namenode.rpc-address
/http-address
:配置主備NameNode的RPC和HTTP地址。dfs.namenode.shared.edits.dir
:指定JournalNode存儲編輯日志的路徑(如qjournal://node1:8485;node2:8485;node3:8485/mycluster
)。dfs.client.failover.proxy.provider
:設置為ConfiguredFailoverProxyProvider
,實現客戶端自動切換。配置核心組件(core-site.xml)
fs.defaultFS
:指定集群默認訪問路徑(如hdfs://mycluster
)。ha.zookeeper.quorum
:配置ZooKeeper集群地址(如node1:2181,node2:2181,node3:2181
)。啟動與驗證
hdfs dfsadmin -report
檢查集群狀態,模擬主節點故障,驗證備節點是否自動切換。關鍵組件作用:
注意事項: