zookeeper批量开启关闭——shell方式

12 篇文章 0 订阅

zookeeper批量开启关闭——shell方式

每次开启zookeeper都是非常繁琐的,需要ssh到每台机器上,然后zkServer.sh start。这样非常费时间。今天介绍一种shell脚本的方式批量的进行zookeeper的管理。

在这之间需要了解(https://zhidao.baidu.com/question/713844898424592485.html):
首先知道交互式shell和非交互式shell、登录shell和非登录shell是有区别的
在登录shell里,环境信息需要读取/etc/profile和~ /.bash_profile, ~/.bash_login, and ~/.profile按顺序最先的一个,并执行其中的命令。除非被 —noprofile选项禁止了;在非登录shell里,环境信息只读取 /etc/bash.bashrc和~/.bashrc 手工执行是属于登陆shell,脚本执行数据非登陆shell,而我的linux环境配置中只对/etc/profile进行了jdk1.6等环境的配置,所以脚本执行/usr/local/zookeeper3.4/bin/zkServer.sh start 启动zookeeper失败了

解决方法

把profile的配置信息echo到.bashrc中 echo ‘source /etc/profile’ >> ~/.bashrc在/zookeeper/bin/zkEnv.sh的中开始位置添加 export JAVA_HOME=/usr/local/jdk1.6(就像hadoop中对hadoop-env.sh的配置一样)

下面是我的shell脚本:
zk
#!/bin/bash

iparray=(host1 host2 host3)
user="user"
echo "$1"
if [ $1 = "start" ]
then
        cmd="zkServer.sh start"
fi

if [ $1 = "stop" ]
then
        cmd="zkServer.sh stop"
fi

cmd2="jps"

for ip in ${iparray[*]}
do
        echo "ssh to $ip"
        ssh -t $user@$ip "$cmd"
        echo "jps:"
        ssh -t $user@$ip "$cmd2"
        echo
done

测试运行:
开启zookeeper
./zk start

关闭zookeeper
./zk stop


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值