Debian HDFS集群如何扩容
导读:Debian HDFS集群扩容指南(以添加DataNode为例) 一、扩容前准备 环境检查 确保所有节点(包括新节点)满足以下条件: 操作系统版本一致(如Debian 11/12); Hadoop版本相同(如Hadoop 3.3.6);...
Debian HDFS集群扩容指南(以添加DataNode为例)
一、扩容前准备
- 环境检查
确保所有节点(包括新节点)满足以下条件:- 操作系统版本一致(如Debian 11/12);
- Hadoop版本相同(如Hadoop 3.3.6);
- 网络互通(能通过SSH无密码登录);
- 防火墙/SELinux关闭(避免端口拦截)。
- 新节点基础配置
- 网络设置:为新节点分配静态IP,修改
/etc/hosts文件,添加集群所有节点的IP与主机名映射(如192.168.1.103 hadoop103); - 免密登录:在NameNode上生成SSH密钥(
ssh-keygen -t rsa),将公钥(id_rsa.pub)拷贝到新节点的~/.ssh/authorized_keys文件中,验证ssh hadoop103能否无密码登录; - 时间同步:安装Chrony服务(
apt install chrony),在NameNode上启动并设置开机自启(systemctl enable --now chronyd),新节点同步NameNode时间(chronyc sources -v); - JDK安装:下载并解压Oracle JDK(如
jdk-11.0.20_linux-x64_bin.tar.gz),配置环境变量(JAVA_HOME=/usr/lib/jvm/jdk-11.0.20,PATH=$JAVA_HOME/bin:$PATH),刷新配置(source /etc/profile)。
- 网络设置:为新节点分配静态IP,修改
二、动态添加DataNode步骤
1. 配置NameNode节点(白名单)
在NameNode的$HADOOP_HOME/etc/hadoop目录下,编辑hdfs-site.xml文件,添加或修改以下属性(若文件不存在则新建):
<
property>
<
name>
dfs.hosts<
/name>
<
value>
/home/hadoop/hadoop/etc/dfs.include<
/value>
<
!-- 白名单路径,需提前创建 -->
<
/property>
保存后,将hdfs-site.xml文件复制到集群所有节点的相同目录下(确保配置一致性)。
2. 新增DataNode主机信息
在NameNode的dfs.include文件中,添加新节点的主机名(如hadoop103),每行一个:
hadoop101
hadoop102
hadoop103 <
!-- 新节点 -->
3. 配置新节点环境
在新节点上:
- 安装Hadoop:下载与集群一致的Hadoop版本(如
hadoop-3.3.6.tar.gz),解压到/opt目录(tar -xzf hadoop-3.3.6.tar.gz -C /opt),重命名为hadoop; - 配置环境变量:编辑
/etc/profile,添加以下内容:刷新配置(export HADOOP_HOME=/opt/hadoop export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATHsource /etc/profile); - 配置Hadoop核心文件:将NameNode的
$HADOOP_HOME/etc/hadoop目录下的core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml文件复制到新节点的相同目录下; - 修改slaves文件:在NameNode的
$HADOOP_HOME/etc/hadoop/slaves文件中,添加新节点的主机名(hadoop103),保存后复制到集群所有节点。
4. 启动新节点服务
在新节点上,启动DataNode和NodeManager服务:
hadoop-daemon.sh start datanode # 启动DataNode
yarn-daemon.sh start nodemanager # 启动NodeManager
或在所有节点上执行集群启动命令(start-dfs.sh、start-yarn.sh),新节点会自动加入。
5. 验证节点加入
- 命令行验证:在NameNode上执行
hdfs dfsadmin -report,查看“Live datanodes”列表,确认新节点(hadoop103)的状态为“live”; - Web UI验证:访问NameNode的Web界面(默认
http://< namenode-ip> :9870),进入“Datanodes”页面,查看新节点的存储容量、心跳状态等信息。
三、可选:触发数据平衡(优化存储分布)
添加新节点后,集群数据可能分布不均,需手动触发平衡操作:
- 停止所有DataNode服务(
stop-dfs.sh); - 启动HDFS平衡器(
start-balancer.sh),默认阈值为10%(即节点存储使用率差异超过10%时会触发数据迁移); - 监控平衡进度(
hdfs balancer -status),直到所有节点的存储使用率差异小于阈值。
四、注意事项
- 数据安全:扩容前务必备份集群关键数据(如HDFS中的重要文件);
- 配置一致性:所有节点的Hadoop配置文件(如
core-site.xml、hdfs-site.xml)必须保持一致,避免因配置差异导致节点无法正常工作; - 低峰时段操作:扩容过程可能影响集群性能,建议在业务低峰期进行;
- 监控集群状态:扩容后持续监控集群的CPU、内存、存储使用率及节点状态,及时处理异常。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Debian HDFS集群如何扩容
本文地址: https://pptw.com/jishu/741045.html
