Hadoop 集群扩容新增节点操作文档
Hadoop 集群扩容新增节点操作文档
一、前期准备
1. 环境检查(所有新节点)
确保 JDK 安装:
java -version
确保 Hadoop 安装:
hadoop version
添加主机名映射(所有节点):
cat >> /etc/hosts <<EOF
192.168.1.10 master
192.168.1.11 node01
192.168.1.12 node02
192.168.1.13 node03 # 新增节点
EOF
测试 SSH 免密(主节点执行):
ssh node03 hostname
2. Hadoop 安装与配置同步
将 Hadoop 安装包拷贝至新节点:
scp -r /opt/hadoop user@node03:/opt/
同步 Hadoop 配置文件:
scp -r $HADOOP_HOME/etc/hadoop user@node03:$HADOOP_HOME/etc/
二、修改主节点配置
1. 添加到 workers 文件(或 slaves)
说明:workers 文件是作为批量远程启动服务的清单使用,一般适用于远程批量启动多个节点服务。
echo "node03" >> $HADOOP_HOME/etc/hadoop/workers
2. 若启用了白名单,修改 dfs.hosts
echo "node03" >> $HADOOP_HOME/etc/hadoop/dfs.hosts
三、启动新节点服务
1. 新节点执行以下命令:
启动 DataNode:
$HADOOP_HOME/sbin/hadoop-daemon.sh start datanode
启动 NodeManager:
$HADOOP_HOME/sbin/yarn-daemon.sh start nodemanager
2. 可选:主节点上运行 balancer(平衡数据)
hdfs balancer -threshold 10
四、验证与测试
1. 查看 HDFS 节点状态:
hdfs dfsadmin -report
或访问:
http://<namenode_host>:9870/dfshealth.html
2. 查看 YARN 节点状态:
访问:
http://<resourcemanager_host>:8088/cluster/nodes
3. 测试任务提交:
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar pi 5 100
五、扩容自动化脚本(示例)
auto_add_node.sh
#!/bin/bash
# 用于新节点自动加入 Hadoop 集群HADOOP_HOME=/opt/hadoop
NEW_NODE=$1echo "[INFO] 添加新节点 $NEW_NODE"# 同步配置文件
scp -r $HADOOP_HOME/etc/hadoop $NEW_NODE:$HADOOP_HOME/etc/# 在主节点添加到 workers 列表
echo "$NEW_NODE" >> $HADOOP_HOME/etc/hadoop/workers# 远程启动服务
ssh $NEW_NODE "$HADOOP_HOME/sbin/hadoop-daemon.sh start datanode"
ssh $NEW_NODE "$HADOOP_HOME/sbin/yarn-daemon.sh start nodemanager"echo "[INFO] 启动完成,验证状态请访问 ResourceManager 和 NameNode Web 页面"
执行方式:
chmod +x auto_add_node.sh
./auto_add_node.sh node03