shell编程之自动化启动与关闭zookeeper集群

首先新建文件zkstart.sh

写入内容:

#!/bin/bash
echo “启动zookeeper集群…”
for m in server1 server2 server3(若干个zk集群节点名)
do
ssh $m “/zookeeper路径/bin/zkServer.sh start”
done

 

加上执行权限:chmod a+rwx zkstart.sh

在运行这个脚本之前需要将export JAVA_HOME=(jdk安装目录) 写入到每个zk集群节点的zkEnv.sh 中

最后运行:./zkstart.sh

关闭集群同理:将zkServer.sh start改为zkServer.sh stop即可

上面为什么要将jdk路径添加到zkEnv.sh中呢?

原因:

在虚拟机启动而启动的shell脚本称之为登入式shell:

       加载变量顺序:/etc/profile → /etc/profile.d → .bash_profile → .bashrc → /etc/bashrc

而在虚拟机启动后的shell称之为非登入式shell:

       加载变量顺序:.bashrc → /etc/bashrc → /etc/profile.d

因为我的jdk环境变量是在/etc/profile,所以非登入式shell并不会加载jdk的环境变量,因此我们需要手动将jdk环境变量添加到zookeeper相关文件中,利于我们使用脚本启动。

 

 

望指教...

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值