Hadoop 集群扩容新增节点操作文档

Hadoop 集群扩容新增节点操作文档


一、前期准备

1. 环境检查(所有新节点)

确保 JDK 安装:

bash 复制代码
java -version

确保 Hadoop 安装:

bash 复制代码
hadoop version

添加主机名映射(所有节点):

bash 复制代码
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 免密(主节点执行):

bash 复制代码
ssh node03 hostname

2. Hadoop 安装与配置同步

将 Hadoop 安装包拷贝至新节点:

bash 复制代码
scp -r /opt/hadoop user@node03:/opt/

同步 Hadoop 配置文件:

bash 复制代码
scp -r $HADOOP_HOME/etc/hadoop user@node03:$HADOOP_HOME/etc/

二、修改主节点配置

1. 添加到 workers 文件(或 slaves)

说明:workers 文件是作为批量远程启动服务的清单使用,一般适用于远程批量启动多个节点服务。

bash 复制代码
echo "node03" >> $HADOOP_HOME/etc/hadoop/workers

2. 若启用了白名单,修改 dfs.hosts

bash 复制代码
echo "node03" >> $HADOOP_HOME/etc/hadoop/dfs.hosts

三、启动新节点服务

1. 新节点执行以下命令:

启动 DataNode:

bash 复制代码
$HADOOP_HOME/sbin/hadoop-daemon.sh start datanode

启动 NodeManager:

bash 复制代码
$HADOOP_HOME/sbin/yarn-daemon.sh start nodemanager

2. 可选:主节点上运行 balancer(平衡数据)

bash 复制代码
hdfs balancer -threshold 10

四、验证与测试

1. 查看 HDFS 节点状态:

bash 复制代码
hdfs dfsadmin -report

或访问:

复制代码
http://<namenode_host>:9870/dfshealth.html

2. 查看 YARN 节点状态:

访问:

复制代码
http://<resourcemanager_host>:8088/cluster/nodes

3. 测试任务提交:

bash 复制代码
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar pi 5 100

五、扩容自动化脚本(示例)

auto_add_node.sh

bash 复制代码
#!/bin/bash
# 用于新节点自动加入 Hadoop 集群

HADOOP_HOME=/opt/hadoop
NEW_NODE=$1

echo "[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 页面"

执行方式:

bash 复制代码
chmod +x auto_add_node.sh
./auto_add_node.sh node03
相关推荐
IvanCodes21 分钟前
七、Sqoop Job:简化与自动化数据迁移任务及免密执行
大数据·数据库·hadoop·sqoop
冬至喵喵2 小时前
【hive】函数集锦:窗口函数、列转行、日期函数
大数据·数据仓库·hive·hadoop
zhuhit2 小时前
FASTDDS的安全设计
分布式·机器人·嵌入式
暗影八度2 小时前
Spark流水线+Gravitino+Marquez数据血缘采集
大数据·分布式·spark
q567315233 小时前
IBM官网新闻爬虫代码示例
开发语言·分布式·爬虫
不爱学英文的码字机器3 小时前
数据网格的革命:从集中式到分布式的数据管理新范式
分布式
Tianyanxiao4 小时前
华为×小鹏战略合作:破局智能驾驶深水区的商业逻辑深度解析
大数据·人工智能·经验分享·华为·金融·数据分析
线条16 小时前
大数据 ETL 工具 Sqoop 深度解析与实战指南
大数据·sqoop·etl
优秀的颜7 小时前
计算机基础知识(第五篇)
java·开发语言·分布式