在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存储编辑日志的本地路径。参考来源: