实现Ubuntu Hadoop集群高可用需配置NameNode和ResourceManager的高可用,依赖ZooKeeper实现故障自动切换,步骤如下:
集群规划:至少3台Ubuntu服务器,分配角色如下:
基础配置:
/etc/hosts
文件,添加所有节点的IP和主机名。ZooKeeper集群搭建:
zoo.cfg
文件,指定server.id=host:port:port
(如server.1=master:2888:3888
),并为每个节点创建myid
文件(内容为对应ID)。zkServer.sh start
,验证状态为Leader/Follower。HDFS高可用配置:
hdfs namenode -bootstrapStandby
同步至备用节点。hdfs-site.xml
中设置dfs.nameservices
、dfs.ha.namenodes
、dfs.namenode.rpc-address
等参数,启用自动故障转移dfs.ha.automatic-failover.enabled=true
。YARN高可用配置:
yarn-site.xml
中启用ResourceManager高可用:yarn.resourcemanager.ha.enabled=true
,指定主备ResourceManager的hostname和ZooKeeper地址yarn.resourcemanager.zk-address
。启动集群:
验证高可用:
hdfs haadmin -getServiceState nn1
和yarn rmadmin -getServiceState rm1
检查主备状态。关键组件作用:
注意事项: