hadoop节点扩容和缩容操作流程

一、添加新节点(扩容)

添加新节点通常称为"节点上线"。

1. 准备工作
  1. 硬件与系统:确保新节点的硬件、操作系统、Java 版本等与现有集群一致。

  2. 网络:配置好主机名、hosts 文件、SSH 无密码登录等。

  3. Hadoop 配置 :将现有的 hdfs-site.xml, core-site.xml, yarn-site.xml, mapred-site.xml 等配置文件复制到新节点的 Hadoop 配置目录下。

  4. 启动 DataNode 和 NodeManager :在新节点上,使用 hadoop-daemon.sh 或 hdfs 命令启动服务。

    bash 复制代码
    # 使用 hdfs 命令(推荐)
    $HADOOP_HOME/bin/hdfs --daemon start datanode
    $HADOOP_HOME/bin/hdfs --daemon start nodemanager
    
    # 或者使用老版本的 hadoop-daemon.sh
    $HADOOP_HOME/sbin/hadoop-daemon.sh start datanode
    $HADOOP_HOME/sbin/yarn-daemon.sh start nodemanager
2. 如何"刷新"集群状态(让集群识别新节点)

对于 HDFS (DataNode):

HDFS 是自动发现的。一旦 DataNode 启动,它会主动联系配置文件中指定的 NameNode,并向其注册。NameNode 会自动将其加入到集群中。

  • 验证方法 :
    1. 访问 NameNode 的 Web UI(通常是 http://<namenode_ip>:9870)。
    2. 点击 "Datanodes",你应该能看到新加入的节点及其状态。
    3. 使用 HDFS 命令:hdfs dfsadmin -report,查看报告的 Live datanodes 数量和信息。

对于 YARN (NodeManager):

YARN 也是自动发现的。NodeManager 启动后会向 ResourceManager 注册。

  • 验证方法 :
    1. 访问 ResourceManager 的 Web UI(通常是 http://<resourcemanager_ip>:8088)。
    2. 点击 "Nodes",你应该能看到新加入的 NodeManager 节点。
    3. 使用 YARN 命令:yarn node -list,查看所有活跃的节点。

二、删除节点(缩容)

删除节点需要更谨慎一些,分为"优雅退役"和"强制退役"。我们通常采用优雅退役,以保证数据不丢失。

1. 配置退役节点(告知集群哪些节点要下线)

这是关键步骤,你需要通过修改配置文件来"刷新"集群的认知。

步骤:

  1. 创建排除列表文件:在 NameNode 和 ResourceManager 所在的机器上,创建两个文件:

    • dfs.exclude:用于 HDFS DataNode 退役。
    • yarn.exclude:用于 YARN NodeManager 退役。
      (文件路径和名称可以自定义)
  2. 编辑文件 :在每个文件中,逐行写入要退役的节点的主机名或 IP。
    示例 dfs.exclude 内容:

    复制代码
    datanode-04.cluster.example.com
    192.168.1.105

    示例 yarn.exclude 内容:

    复制代码
    nodemanager-04.cluster.example.com
    192.168.1.105
  3. 在配置文件中指向排除列表 :

    修改 NameNode 的 hdfs-site.xml,添加或修改以下属性:

    xml 复制代码
    <property>
      <name>dfs.hosts.exclude</name>
      <value>/path/to/your/dfs.exclude</value>
      <description>Path to file containing datanodes to exclude.</description>
    </property>

    修改 ResourceManager 的 yarn-site.xml,添加或修改以下属性:

    xml 复制代码
    <property>
      <name>yarn.resourcemanager.nodes.exclude-path</name>
      <value>/path/to/your/yarn.exclude</value>
      <description>Path to file containing nodemanagers to exclude.</description>
    </property>
2. 如何"刷新"集群状态(让集群开始退役流程)

对于 HDFS (DataNode):

  1. 刷新 NameNode:修改配置后,你需要让 NameNode 重新读取配置。

    bash 复制代码
    # 使用 hdfs 命令
    $HADOOP_HOME/bin/hdfs dfsadmin -refreshNodes

    这个命令就是 "刷新" 的魔法命令。它会让 NameNode 读取 dfs.hosts.exclude 文件。

  2. 观察退役过程:

    • 执行命令后,该 DataNode 的状态会变为 "Decommission In Progress"。
    • NameNode 会开始将这个节点上的数据块复制到集群中的其他节点。
    • 通过 hdfs dfsadmin -report 或 Web UI 监控进度,直到该节点状态变为 "Decommissioned"。此时,该节点上已无数据块。
  3. 关闭节点:当状态变为 "Decommissioned" 后,你就可以安全地在该节点上停止服务了。

    bash 复制代码
    $HADOOP_HOME/bin/hdfs --daemon stop datanode

对于 YARN (NodeManager):

  1. 刷新 ResourceManager:同样,需要让 ResourceManager 重新读取排除列表。

    bash 复制代码
    # 使用 yarn 命令
    $HADOOP_HOME/bin/yarn rmadmin -refreshNodes

    这个命令是 YARN 的 "刷新" 命令。

  2. 观察退役过程:

    • 在 ResourceManager 的 Web UI 上,该 NodeManager 的状态会发生变化。
    • 它会等待当前正在运行的任务完成后,变为 "DECOMMISSIONED" 状态。
  3. 关闭节点:状态变为退役后,停止服务。

    bash 复制代码
    $HADOOP_HOME/bin/yarn --daemon stop nodemanager
相关推荐
ha_lydms8 小时前
MaxCompute中窗口函数
大数据·hadoop·阿里云·云计算·dataworks·maxcompute·odps
千里码aicood11 小时前
基于Hadoop的机票价格波动分析系统的设计与实现
大数据·hadoop·分布式
IT毕设梦工厂15 小时前
计算机毕业设计选题推荐:基于大数据的供应链数据分析与可视化|毕业设计选题|计算机毕设|选题推荐|毕设指导|项目定制|源码|高质量项目
大数据·hive·hadoop·python·数据分析·spark·课程设计
BYSJMG15 小时前
计算机毕业设计选题推荐|【基于深度学习的面部关键特征识别与检测】YOLO目标检测+ONNX推理
大数据·hadoop·数据分析·spark·课程设计
IT毕设梦工厂15 小时前
计算机毕业设计选题推荐:基于大数据的二手车数据可视化分析|毕业设计选题|计算机毕设|选题推荐|毕设指导|项目定制|源码|高质量项目
大数据·hadoop·python·数据挖掘·数据分析·课程设计·数据分析数据可视化
IT毕设梦工厂16 小时前
计算机毕业设计选题推荐:基于大数据的购物趋势数据可视化分析系统|毕业设计选题|计算机毕设|选题推荐|毕设指导|项目定制|源码|高质量项目
大数据·hadoop·信息可视化·spark·毕业设计·课程设计·大数据毕设项目
IT毕设梦工厂17 小时前
计算机毕业设计选题推荐:基于大数据的广告投放数据可视化分析系统|毕业设计选题|计算机毕设|选题推荐|毕设指导|项目定制|源码|高质量项目
大数据·hadoop·信息可视化·数据分析·spark·毕业设计·课程设计
IT毕设梦工厂17 小时前
计算机毕业设计选题推荐:基于大数据的房地产交易数据分析与可视化|毕业设计选题|计算机毕设|选题推荐|毕设指导|项目定制|源码|高质量项目
大数据·hive·hadoop·python·数据分析·spark·课程设计
小程序设计18 小时前
本科毕设避坑|大数据 / 单片机物联网 / 网络工程 / PLC / 机械设计选题与落地心得
java·hive·hadoop·单片机
计算机源码社18 小时前
【27届大数据毕设】基于机器学习与数据挖掘的电影评分预测与可视化大屏 基于Spark内存计算的电影译名流向与主题词云可视化分析
大数据·hadoop·机器学习·数据挖掘·spark·毕业设计·课程设计