debian

Debian HDFS集群扩容步骤是什么

小樊
40
2025-10-06 18:24:20
栏目: 智能运维

Debian HDFS集群扩容步骤(以动态添加DataNode为例)

一、前期准备工作

  1. 环境检查

    • 确保新节点与现有集群节点操作系统版本一致(均为Debian)、Hadoop版本兼容(如均为Hadoop 3.x)。
    • 验证网络连通性:所有节点间可通过SSH无密码登录(使用ssh-keygen -t rsa生成密钥并分发至所有节点);/etc/hosts文件包含所有节点的IP与主机名映射(避免DNS解析问题)。
    • 同步节点时间:使用NTP服务(如apt install ntp && systemctl enable --now ntp)确保时间偏差小于1秒。
  2. 新节点基础配置

    • 在新节点上安装JDK(apt install openjdk-11-jdk)和Hadoop(从现有集群复制安装包或通过apt install hadoop安装,版本需一致)。
    • 配置Hadoop环境变量:编辑~/.bashrc,添加export HADOOP_HOME=/usr/local/hadoopexport PATH=$PATH:$HADOOP_HOME/bin,执行source ~/.bashrc生效。
    • 复制现有集群的Hadoop配置文件(core-site.xmlhdfs-site.xmlyarn-site.xmlmapred-site.xml)至新节点的$HADOOP_HOME/etc/hadoop/目录。

二、配置文件修改(现有集群节点)

  1. NameNode节点(修改hdfs-site.xml
    添加dfs.hosts属性,指定允许连接的DataNode列表(若未使用dfs.hosts,则无需修改,默认允许所有节点连接):

    <property>
        <name>dfs.hosts</name>
        <value>/etc/hadoop/conf/slaves</value> <!-- 或自定义路径,如/opt/hadoop/slaves -->
    </property>
    

    若修改了该文件,需重启NameNode使配置生效(hadoop-daemon.sh stop namenode && hadoop-daemon.sh start namenode)。

  2. ResourceManager节点(修改yarn-site.xml
    添加yarn.resourcemanager.nodes.include-path属性,指定允许连接的NodeManager列表(通常与dfs.hosts路径一致):

    <property>
        <name>yarn.resourcemanager.nodes.include-path</name>
        <value>/etc/hadoop/conf/slaves</value>
    </property>
    

    同样,修改后需重启ResourceManager(yarn-daemon.sh stop resourcemanager && yarn-daemon.sh start resourcemanager)。

三、新节点配置

  1. 添加至集群清单
    编辑现有集群的slaves文件(位于$HADOOP_HOME/etc/hadoop/),添加新节点的主机名(每行一个,如datanode3)。该文件用于定义DataNode和NodeManager的列表。

  2. 新节点本地配置

    • 确保新节点的$HADOOP_HOME/etc/hadoop/目录下的配置文件与现有集群完全一致(尤其是core-site.xml中的fs.defaultFShdfs-site.xml中的dfs.replication等核心配置)。
    • 格式化新节点的DataNode(仅首次启动需执行,会清除节点上的所有HDFS数据):
      hdfs datanode -format
      
    • 启动新节点服务:
      hadoop-daemon.sh start datanode  # 启动DataNode
      yarn-daemon.sh start nodemanager  # 启动NodeManager
      

    可通过jps命令验证服务是否运行(应看到DataNodeNodeManager进程)。

四、验证扩容结果

  1. 刷新节点列表
    在NameNode节点执行以下命令,使集群识别新节点:

    hdfs dfsadmin -refreshNodes  # 刷新HDFS节点列表
    yarn rmadmin -refreshNodes   # 刷新YARN节点列表
    
  2. 检查节点状态

    • 使用hdfs dfsadmin -report命令查看HDFS集群状态,确认新节点的IP、主机名、存储容量、数据块数量等信息已显示。
    • 访问YARN ResourceManager Web界面(默认http://resourcemanager:8088),查看“Nodes”页面,确认新NodeManager已注册。
  3. 数据平衡(可选但推荐)
    新节点加入后,HDFS数据可能分布不均,执行数据平衡操作使数据均匀分布:

    start-balancer.sh  # 启动平衡器(默认阈值10%,可在hdfs-site.xml中调整dfs.balancer.threshold)
    hdfs balancer -status  # 监控平衡进度(直到显示“Balancing is not running”)
    

    平衡完成后,各DataNode的存储利用率差异应小于阈值。

五、注意事项

以上步骤适用于Debian环境下HDFS集群的动态扩容(添加DataNode)。若需缩容(移除节点),可参考类似流程:先停止目标节点服务、从slaves文件中移除主机名、刷新节点列表,最后停止节点服务即可。

0
看了该问题的人还看了