在 Linux 上停止 Hadoop 服务,取决于你使用的是 Hadoop 原生脚本 还是 CDH / HDP / Ambari / Cloudera Manager 等发行版。下面按常见情况说明。
$HADOOP_HOME/sbin/stop-dfs.sh
说明:
$HADOOP_HOME/sbin/stop-yarn.sh
说明:
$HADOOP_HOME/sbin/stop-all.sh
⚠️ 注意
stop-all.sh 在新版本中已被标记为不推荐使用,但仍可使用stop-dfs.sh + stop-yarn.sh$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
如果你的 Hadoop 服务是通过 systemd 管理的:
systemctl stop hadoop-namenode
systemctl stop hadoop-datanode
systemctl stop hadoop-resourcemanager
systemctl stop hadoop-nodemanager
查看服务名:
systemctl list-units | grep hadoop
如果是 Cloudera Manager:
# 停止整个集群
service cloudera-scm-agent stop
service cloudera-scm-server stop
或通过 Web UI:
ambari-server stop
ambari-agent stop
或通过 Web UI 停止服务。
jps
正常停止后应看不到:
✅ 停止顺序建议:
YARN → HDFS
✅ 生产环境建议:
kill -9如果你愿意,可以告诉我:
我可以给你最精确的停止命令。