一下是尚硅谷的util.sh脚本代码:
注意:用户名、主机名、文件目录名根据自己的来
群起zookeeper脚本代码
echo "================ 正在启动Zookeeper ==========="
for i in atguigu@hadoop102 atguigu@hadoop103 atguigu@hadoop104
do
ssh $i '/opt/module/zookeeper-3.4.10/bin/zkServer.sh start'
done
群起所有节点服务的zookeeper、HDFS、YARN、JobHistoryServer脚本代码
#!/bin/bash
echo "================ 开始启动所有节点服务 ==========="
echo "================ 正在启动Zookeeper ==========="
for i in atguigu@hadoop102 atguigu@hadoop103 atguigu@hadoop104
do
ssh $i '/opt/module/zookeeper-3.4.10/bin/zkServer.sh start'
done
echo "================ 正在启动HDFS ==========="
ssh atguigu@hadoop102 '/opt/module/hadoop-2.7.2/sbin/start-dfs.sh'
echo "================ 正在启动YARN ==========="
ssh atguigu@hadoop103 '/opt/module/hadoop-2.7.2/sbin/start-yarn.sh'
echo "================ 正在开启JobHistoryServer ==========="
ssh atguigu@hadoop102 '/opt/module/hadoop-2.7.2/sbin/mr-jobhistory-daemon.sh start historyserver'
查看集群jps代码
#!/bin/bash
for i in atguigu@hadoop102 atguigu@hadoop103 atguigu@hadoop104
do
echo "=========== $i ==========="
ssh $i '/opt/module/jdk1.8.0_144/bin/jps'
done
实战演练
1.进入/bin目录
[atguigu@hadoop102 bin]$ cd /bin/
[atguigu@hadoop102 bin]$ pwd
/bin
2.创建startall群起命令
[atguigu@hadoop102 bin]$ sudo touch startall
[sudo] password for atguigu:
[atguigu@hadoop102 bin]$ ll startall
-rw-r--r--. 1 root root 0 8月 25 22:10 startall
3.给命令脚本添加权限
[atguigu@hadoop102 bin]$ sudo chmod +wrx startall
4.编辑脚本
我的jobHistoryServer在hadoop104节点上
[atguigu@hadoop102 bin]$ sudo vim startall
#!/bin/bash
echo "================ 开始启动所有节点服务 ==========="
echo "================ 正在启动Zookeeper ==========="
for i in atguigu@hadoop102 atguigu@hadoop103 atguigu@hadoop104
do
ssh $i '/opt/module/zookeeper-3.4.10/bin/zkServer.sh start'
done
echo "================ 正在启动HDFS ==========="
ssh atguigu@hadoop102 '/opt/module/hadoop-2.7.2/sbin/start-dfs.sh'
echo "================ 正在启动YARN ==========="
ssh atguigu@hadoop103 '/opt/module/hadoop-2.7.2/sbin/start-yarn.sh'
echo "================ 正在开启JobHistoryServer ==========="
ssh atguigu@hadoop104 '/opt/module/hadoop-2.7.2/sbin/mr-jobhistory-daemon.sh start historyserver'
echo "=========== 查看集群的jps ==========="
for i in atguigu@hadoop102 atguigu@hadoop103 atguigu@hadoop104
do
echo "=========== $i ==========="
ssh $i '/opt/module/jdk1.8.0_144/bin/jps'
done
5.执行脚本
[atguigu@hadoop102 bin]$ startall
6.使用xsync分发脚本分发startall命令到其他节点并验证
[atguigu@hadoop102 bin]$ sudo xsync startall
集群分发脚本命令xsync说明:https://blog.csdn.net/qq_43265673/article/details/99682653
配置关闭所有服务命令stopall(名字自己取)仅需将以上脚本的start改为stop即可
其他的集群组件群起代码也可以根据上面模板编写。
补充:启动集群后立即关闭安全模式
在startall文件末尾追加如下命令即可:
echo "=========== 启动后立即关闭集群安全模式 ==========="
hadoop dfsadmin -safemode leave