我们知道,zookeeper是需要各个节点都启动起来,然后投票选出主从的。在实际过程中,这是需要使用自动化脚本来实现的。
#!/bin/sh
echo "start zkService ..."
for i in 1 2 3
do
ssh mini$i "source /etc/profile;/root/apps/zookeeper-3.4.5/bin/zkServer.sh start"
done
上述代码中使用了source
命令,原因为ssh
进行连接的时候,并没有加载profile
中的变量。使得JAVA_HOME
在当前脚本进程中找不到,会导致启动的失败。
类似的,我们也可以用此方式查看各个服务器状态:
#!/bin/sh
echo "show zkService status..."
for i in 1 2 3
do
echo "mini$i :"
ssh mini$i "source /etc/profile;/root/apps/zookeeper-3.4.5/bin/zkServer.sh status"
done