在Debian上配置Hadoop高可用性需重點關注NameNode、ResourceManager的高可用性及ZooKeeper協調,以下是核心技巧和步驟:
zoo.cfg
,設置集群節點地址(如server.1=node1:2181
等),啟動服務。hdfs-site.xml
中設置dfs.nameservices
和dfs.ha.namenodes
,指定主備NameNode的RPC和HTTP地址。dfs.namenode.shared.edits.dir
為QJM共享目錄(如qjournal://node1:8485;node2:8485/mycluster
),確保元數據同步。dfs.ha.automatic-failover.enabled=true
,并設置dfs.ha.fencing.methods
(如sshfence
)防止腦裂。/var/lib/hadoop/journalnode
),啟動JournalNode服務。yarn-site.xml
中配置ResourceManager主備模式,通過ZooKeeper實現故障轉移。hdfs namenode -format
,啟動HDFS和YARN集群:start-dfs.sh
、start-yarn.sh
。hdfs haadmin -report
檢查NameNode狀態,驗證故障切換功能。關鍵參數說明:
fs.defaultFS
:指定HDFS的ZooKeeper命名空間。dfs.ha.automatic-failover.enabled
:啟用自動故障轉移。dfs.journalnode.edits.dir
:JournalNode存儲編輯日志的本地路徑。參考來源: