淘先锋技术网

首页 1 2 3 4 5 6 7

整体启动/停止 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

现在让我们来测试以下脚本可不可以用

 

看来是很成功的。

期待接下来更好作品吧~~