温馨提示×

linux hadoop如何停止服务

小樊
45
2026-08-25 01:15:28
栏目: 智能运维

在 Linux 上停止 Hadoop 服务,取决于你使用的是 Hadoop 原生脚本 还是 CDH / HDP / Ambari / Cloudera Manager 等发行版。下面按常见情况说明。


一、原生 Hadoop(Apache Hadoop)停止方式

1️⃣ 停止 HDFS

$HADOOP_HOME/sbin/stop-dfs.sh

说明:

  • 会停止 NameNode、SecondaryNameNode、DataNode

2️⃣ 停止 YARN

$HADOOP_HOME/sbin/stop-yarn.sh

说明:

  • 会停止 ResourceManager、NodeManager

3️⃣ 同时停止 HDFS + YARN(推荐)

$HADOOP_HOME/sbin/stop-all.sh

⚠️ 注意

  • stop-all.sh 在新版本中已被标记为不推荐使用,但仍可使用
  • 官方更推荐分开执行 stop-dfs.sh + stop-yarn.sh

4️⃣ 停止 HistoryServer(如果启动了)

$HADOOP_HOME/sbin/mr-jobhistory-daemon.sh stop historyserver

或(新版)

yarn --daemon stop historyserver

二、单独停止某个服务

适用于只启了部分组件的场景。

# 停止 NameNode
hadoop-daemon.sh stop namenode

# 停止 DataNode
hadoop-daemon.sh stop datanode

# 停止 ResourceManager
yarn-daemon.sh stop resourcemanager

# 停止 NodeManager
yarn-daemon.sh stop nodemanager

或(Hadoop 3.x)

hdfs --daemon stop namenode
hdfs --daemon stop datanode
yarn --daemon stop resourcemanager
yarn --daemon stop nodemanager

三、使用 systemd(部分发行版)

如果你的 Hadoop 服务是通过 systemd 管理的:

systemctl stop hadoop-namenode
systemctl stop hadoop-datanode
systemctl stop hadoop-resourcemanager
systemctl stop hadoop-nodemanager

查看服务名:

systemctl list-units | grep hadoop

四、CDH / Cloudera Manager

如果是 Cloudera Manager

# 停止整个集群
service cloudera-scm-agent stop
service cloudera-scm-server stop

或通过 Web UI:

  • 登录 Cloudera Manager
  • 选择集群 → Actions → Stop

五、Ambari(HDP)

ambari-server stop
ambari-agent stop

或通过 Web UI 停止服务。


六、确认是否已停止

jps

正常停止后应看不到:

  • NameNode
  • DataNode
  • ResourceManager
  • NodeManager

七、常见注意事项

✅ 停止顺序建议:

YARN → HDFS

✅ 生产环境建议:

  • 不要直接 kill -9
  • 使用官方脚本停止,避免元数据损坏

如果你愿意,可以告诉我:

  • Hadoop 版本
  • 是否是单机 / 集群
  • 是否使用 CDH / HDP / 原生 Hadoop

我可以给你最精确的停止命令

0