实现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检查主备状态。关键组件作用:
注意事项: