温馨提示×

linux hadoop如何管理节点

小樊
46
2026-09-07 14:04:47
栏目: 智能运维

在 Linux 环境下,Hadoop 的节点管理主要通过 HDFS(存储) 和 YARN(计算) 两大组件来完成。下面从架构、常用命令、配置方式、运维管理几个方面系统地说明。


一、Hadoop 节点角色简介

1. HDFS 节点

角色 作用
NameNode 管理文件系统元数据(主节点)
DataNode 存储实际数据块(从节点)
SecondaryNameNode 定期合并元数据(非热备)

2. YARN 节点

角色 作用
ResourceManager 资源调度主节点
NodeManager 单节点资源管理

二、节点管理方式

1. 静态管理(配置文件)

Hadoop 通过以下文件管理节点列表:

HDFS 节点

$HADOOP_HOME/etc/hadoop/workers

示例:

node1
node2
node3

旧版本叫 slaves

YARN 节点

YARN 默认复用 workers 文件中的节点启动 NodeManager。

启动/停止命令:

start-dfs.sh
stop-dfs.sh
start-yarn.sh
stop-yarn.sh

2. 动态管理 DataNode(常用)

查看节点状态

hdfs dfsadmin -report

下线 DataNode(Decommission)

  1. 编辑:
$HADOOP_HOME/etc/hadoop/hdfs-site.xml
<property>
  <name>dfs.hosts.exclude</name>
  <value>/opt/hadoop/etc/hadoop/excludes</value>
</property>
  1. 在 excludes 文件中加入节点:
node3
  1. 刷新节点:
hdfs dfsadmin -refreshNodes
  1. 查看状态变为 Decommissioned 后再停节点。

上线节点

  • 从 excludes 删除
  • 重启 DataNode:
hadoop-daemon.sh start datanode

3. YARN 节点管理

查看 NodeManager

yarn node -list

下线 NodeManager

yarn rmadmin -refreshNodes

配合:

<property>
  <name>yarn.resourcemanager.nodes.exclude-path</name>
  <value>/opt/hadoop/etc/hadoop/yarn-excludes</value>
</property>

三、Linux 系统层面的节点管理

1. 服务进程查看

jps

常见进程:

  • NameNode
  • DataNode
  • ResourceManager
  • NodeManager

2. 日志管理

$HADOOP_HOME/logs/
  • hadoop-*-namenode-*.log
  • hadoop-*-datanode-*.log

3. 磁盘与目录

dfs.datanode.data.dir
yarn.nodemanager.local-dirs

四、节点故障处理

DataNode 宕机

  • HDFS 自动复制副本
  • 恢复后自动重新注册

NameNode 宕机

  • 单点风险(需 HA)
  • HA 方案:
    • ZooKeeper
    • JournalNode
    • Active/Standby NameNode

五、生产建议

✅ 使用 Hadoop HA
✅ 使用 SSH 免密 管理节点
✅ 定期 fsck 检查:

hdfs fsck /

✅ 监控(Ganglia / Prometheus / Ambari)


如果你需要:

  • Hadoop HA 节点管理示例
  • Shell 脚本批量管理节点
  • 某发行版(CDH / HDP / 社区版)差异

可以告诉我你的集群规模和用途。

0 踩