目录
脚本存放的路径
在一台常用的服务器上编写脚本
同时希望 该脚本能在任意位置执行
那也就要配置环境变量了!
那我把bin目录创建出来
在这里面写脚本
这样的话 就不需要我再手动配置环境变量了!!
查看所有进程
jps不是Hadoop的指令 而是java的 在jdk的bin下面能找到这个指令
#!/bin/bash
for host in hadoop102 hadoop103 hadoop104
do
echo =============== $host ===============
ssh $host jps $@ | grep -v Jps
done
群起/群停脚本
- 我们启动Hadoop集群 其实就是分别启动hdfs和yarn 能不能通过一个操作来启动呢?
- Hadoop提供的startall 虽然可以一起启动 他额外会启动别的东西 比较耗费服务器资源 不建议用它
回到这里 来写我们自定义的脚本
#!/bin/bash
#传参start就启动 stop就停止
if [ $# -lt 1 ]
then
echo "参数不能为空"
exit
fi
case $1 in
"start")
echo " =================== 启动 hadoop集群 ==================="
echo " --------------- 启动 hdfs ---------------"
ssh hadoop102 /opt/module/hadoop-3.1.3/sbin/start-dfs.sh
echo " --------------- 启动 yarn ---------------"
ssh hadoop103 /opt/module/hadoop-3.1.3/sbin/start-yarn.sh
;;
"stop")
echo " =================== 关闭 hadoop集群 ==================="
echo " --------------- 关闭 yarn ---------------"
ssh hadoop103 "/opt/module/hadoop-3.1.3/sbin/stop-yarn.sh"
echo " --------------- 关闭 hdfs ---------------"
ssh hadoop102 "/opt/module/hadoop-3.1.3/sbin/stop-dfs.sh"
;;
*)
echo "参数非法"
;;
esac