#!/bin/bash# 判断参数个数
if [ $# -lt 1 ]
thenecho "使用方法: ./myhadoop.sh {start|stop}"exit
ficase $1 in
"start")echo "=================== 启动 Hadoop 集群 ==================="echo "--------------- 启动 HDFS ---------------"# 请将 hadoop102 替换为你的 NameNode 所在的主机名ssh hadoop01 "$HADOOP_HOME/sbin/start-dfs.sh"echo "--------------- 启动 YARN ---------------"# 请将 hadoop103 替换为你的 ResourceManager 所在的主机名ssh hadoop02 "$HADOOP_HOME/sbin/start-yarn.sh"echo "--------------- 启动 HistoryServer ---------------"ssh hadoop03 "$HADOOP_HOME/bin/mapred --daemon start historyserver";;"stop")echo "=================== 停止 Hadoop 集群 ==================="echo "--------------- 停止 HistoryServer ---------------"ssh hadoop03 "$HADOOP_HOME/bin/mapred --daemon stop historyserver"echo "--------------- 停止 YARN ---------------"ssh hadoop02 "$HADOOP_HOME/sbin/stop-yarn.sh"echo "--------------- 停止 HDFS ---------------"ssh hadoop01 "$HADOOP_HOME/sbin/stop-dfs.sh";;*)echo "输入参数错误!"echo "使用方法: ./myhadoop.sh {start|stop}";;
esac
jpsall.sh查看每个节点状态
#!/bin/bash for host in hadoop01 hadoop02 hadoop03 # 请替换为你的实际主机名 doecho "=============== $host ==============="ssh $host 'jps -ml' # 或者使用jps的完整路径,例如 /opt/module/jdk1.8.0_144/bin/jps done echo "======================执行完毕===================="