背景
开启zookeer或kafka等,要进入目录下挨个启动会很麻烦,写好启动脚本就可以一键开启,方便快捷
本文以zookeeper为例
步骤
创建脚本
我的虚拟机名是hadoop102,在其路径下的/home/dwc/bin,创建一个脚本zk.sh
vim zk.sh
写入脚本
#!/bin/bash
case $1 in
"start"){
for i in hadoop102
do
echo ---------- zookeeper $i 启动 ------------
ssh $i "/opt/Environment_DataLake/zookeeper-3.4.5/bin/zkServer.sh start"
done
};;
"stop"){
for i in hadoop102
do
echo ---------- zookeeper $i 停止 ------------
ssh $i "/opt/Environment_DataLake/zookeeper-3.4.5/bin/zkServer.sh stop"
done
};;
"status"){
for i in hadoop102
do
echo ---------- zookeeper $i 状态 ------------
ssh $i "/opt/Environment_DataLake/zookeeper-3.4.5/bin/zkServer.sh status"
done
};;
esac
代码简略讲解:
$1 参数:传进start或stop或status参数,则进行对应start或stop或status功能。
for循环:示例只在一台虚拟机hadoop102上,(主机名和ip地址进行过映射),如果要在多台虚拟机启动,则:for i in hadoop102 hadoop103 hadoop104,循环遍历操作,ssh免密登录操作。路径要写至zkServer.sh的目录地址。
增加权限
输入命令,增加脚本执行权限
chmod 777 zk.sh
启动脚本
启动:
zk.sh start
停止:
zk.sh stop
查看状态:
zk.sh status
启动后记得查看jps内容是否完整