整体启动/停止 HDFS
start-dfs.sh/stop-dfs.sh
各个服务组件逐一启动/ 停止
hdfs --daemon start/stop namenode/datanode/secondarynamenode
启动/停止 YARN
yarn --daemon start/stop resourcemanager/nodemanager
上述方法比较简陋,如果集群多的时候,那么这种启动方式非常不友好,所以下面使用脚本的方式去启动集群
首先使用命令echo $PATH查看环境变量对应的目录
我使用的是这个目录,你们自己看情况
然后在这个目录下创建一个脚本
vi myhadoop.sh
并在其中输入如下内容
#!/bin/bash
if [ $# -lt 1 ]
then
echo "No Args Input..."
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"
echo " --------------- 启动 historyserver ---------------"
ssh hadoop102 "/opt/module/hadoop-3.1.3/bin/mapred --daemon start historyserver"
;;
"stop")
echo " =================== 关闭 hadoop 集群 ==================="
echo " --------------- 关闭 historyserver ---------------"
ssh hadoop102 "/opt/module/hadoop-3.1.3/bin/mapred --daemon stop historyserver"
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 "Input Args Error..."
;;
esac
给脚本授权
chmod +x myhadoop.sh
创建查看进程的脚本jpsall
vi jpsall
输入以下内容
#!/bin/bash
for host in hadoop102 hadoop103 hadoop104
do
echo =============== $host ===============
ssh $host jps
done
授权jpsall
chmod +x jpsall
现在让我们来测试以下脚本可不可以用
看来是很成功的。
期待接下来更好作品吧~~