在Ubuntu上实现Hadoop高可用性需配置NameNode和ResourceManager的高可用,依赖ZooKeeper实现故障检测与自动切换,具体步骤如下:
环境准备
配置NameNode高可用
core-site.xml:设置fs.defaultFS为高可用集群名称(如hdfs://mycluster),指定ZooKeeper地址ha.zookeeper.quorum。hdfs-site.xml:
dfs.nameservices为集群名称,定义主备NameNode(如nn1,nn2)及其RPC/HTTP地址。dfs.namenode.shared.edits.dir为JournalNode共享存储路径(如qjournal://jn1:8485;jn2:8485/jcluster)。dfs.ha.automatic-failover.enabled=true。hdfs namenode -formatJournalNode。配置ResourceManager高可用
yarn-site.xml:启用yarn.resourcemanager.ha.enabled,指定主备ResourceManager ID及ZooKeeper地址。启动服务与验证
jps命令检查进程是否正常运行,模拟节点故障验证自动切换功能。关键组件说明:
参考资料: