当前位置: 首页 > news >正文

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.shhdfs 命令启动服务。

    # 使用 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,添加或修改以下属性:

    <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,添加或修改以下属性:

    <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 重新读取配置。

    # 使用 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” 后,你就可以安全地在该节点上停止服务了。

    $HADOOP_HOME/bin/hdfs --daemon stop datanode
    

对于 YARN (NodeManager):

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

    # 使用 yarn 命令
    $HADOOP_HOME/bin/yarn rmadmin -refreshNodes
    

    这个命令是 YARN 的 “刷新” 命令。

  2. 观察退役过程

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

    $HADOOP_HOME/bin/yarn --daemon stop nodemanager
    
http://www.dtcms.com/a/609177.html

相关文章:

  • RDF 与 RDFS:知识图谱推理的基石
  • 最新轻量版域名防红跳转源码 带后台 支持随机跳转有效放屏蔽
  • linux: udp服务器与客户端 CS 基于ipv4的地址结构体
  • 做食品网站需要什么条件手机靓号网站建设
  • 运筹说145期:从快递到自动驾驶:启发式算法的智慧幕后
  • 如何选择合适的养老服务机器人
  • 微博评论数据采集:基于Requests的智能爬虫实战
  • 数据挖掘概述
  • 51c自动驾驶~合集43
  • Go语言反编译:深入分析与技术探索 | 从原理到实践,全面解析Go反编译的实现和应用
  • ASP.NET Core 10
  • 2025新加坡金融科技节:看AI驱动的金融转型策略与“中国方案”
  • 站群seo技巧济南企业网站设计
  • 网站类游戏网站开发犀牛云做网站推广怎么样
  • 嵌入式网络编程实战:从Socket基础到高并发优化
  • 基于UDP协议的英汉翻译服务系统:从网络通信到字典查询的完整机制
  • 在ec2上部署indexTTS和尝试部署sparkTTS模型
  • IP种子技术:构建全球P2P网络实时监测方案
  • Kali远程桌面+cpolar:网络安全攻防的跨域协作新范式
  • 网络安全学习困扰及解决建议
  • 黑马点评学习笔记11(Redission)
  • 计算机网络复习日报18
  • 网站开发合同知识产权wordpress gettheid
  • Redis 全体系深度解析(架构原理、性能模型、使用场景、持久化机制、过期策略与最佳实践)
  • 百度世界 2025 核心看点:文心 5.0、萝卜快跑、惠博星数字人、伐谋智能体齐亮相!
  • 【百度拥抱开源】介绍ERNIE-4.5-VL-28B-A3B-Thinking:多模态AI的重大突破
  • HarmonyOS分布式输入法开发:实现多设备无缝输入体验
  • 基于GIS的智慧旅游调度指挥平台
  • 网站怎么做才美观WordPress moe acg
  • C/C++ Linux网络编程4 - 解决TCP服务器并发的方式