Hadoop 一键启动&停止脚本
环境说明
hadoop 安装路径:/export/server/hadoop
一键启动脚本
#!/bin/bash
# 启动 Hadoop YARN 服务及 MapReduce HistoryServer
# 配置 HADOOP_HOME
HADOOP_HOME=/export/server/hadoop
# 检查 Hadoop 目录是否存在
if [ ! -d "$HADOOP_HOME" ]; then
echo "错误:Hadoop 安装目录 $HADOOP_HOME 不存在,请检查配置!"
exit 1
fi
# 启动顺序:HDFS > YARN > HistoryServer
echo "===== 开始启动 Hadoop 相关服务 ====="
# 启动HDFS
echo "===== 启动Hadoop ===="
$HADOOP_HOME/sbin/start-dfs.sh
# 启动 YARN ResourceManager(主节点服务)
echo "启动 YARN ResourceManager..."
$HADOOP_HOME/sbin/start-yarn.sh
# 启动 MapReduce HistoryServer(历史任务记录服务)
echo "启动 MapReduce HistoryServer..."
$HADOOP_HOME/sbin/mr-jobhistory-daemon.sh start historyserver
# 检查服务状态
echo -e "\n===== 服务启动状态 ====="
echo "YARN 服务状态:"
$HADOOP_HOME/bin/yarn node -list 2>/dev/null | grep "Total Nodes" || echo "ResourceManager 未启动"
echo -e "\nHistoryServer 状态:"
jps | grep JobHistoryServer || echo "HistoryServer 未启动"
echo -e "\n===== 启动完成 ====="
echo -e "\n Web界面:
HDFS: http://master:9870
YARN: http://master:8088
History: http://master:19888
"
read -p "是否执行jpsall?(y/n):" confirm
if [ "$confirm" == "y" ] || [ "$confirm" == "Y" ]; then
jpsall
else
exit 0
fi
执行授权 chmod +x /usr/local/bin/startall
停止脚本
#!/bin/bash
# 停止 Hadoop YARN 服务及 MapReduce HistoryServer
# 配置 Hadoop 安装目录(根据实际环境修改)
HADOOP_HOME=/export/server/hadoop
# 检查 Hadoop 目录是否存在
if [ ! -d "$HADOOP_HOME" ]; then
echo "错误:Hadoop 安装目录 $HADOOP_HOME 不存在,请检查配置!"
exit 1
fi
# 停止顺序:先停 HistoryServer,再停 YARN 核心服务
echo "===== 开始停止 Hadoop YARN 相关服务 ====="
# 停止 MapReduce HistoryServer
echo "停止 MapReduce HistoryServer..."
$HADOOP_HOME/sbin/mr-jobhistory-daemon.sh stop historyserver
# 停止 YARN 服务(包括 ResourceManager 和 NodeManager)
echo "停止 YARN 服务..."
$HADOOP_HOME/sbin/stop-yarn.sh
# 停止Hadoop服务
echo "停止 Hadoop 服务"
$HADOOP_HOME/sbin/stop-dfs.sh
# 检查停止状态
echo -e "\n===== 服务停止状态 ====="
echo "剩余相关进程(若为空则已全部停止):"
jps | grep -E "ResourceManager|NodeManager|JobHistoryServer" || echo "所有服务已停止"
echo -e "\n===== 停止完成 ====="
执行授权 chmod +x /usr/local/bin/stopall