ZooKeeper集群批量启动

       当前,共有三台服务器用来搭建zookeeper集群,分别为:192.168.204.201,192.168.204.202,192.168.204.203

zookeeper安装在/usr/local/lib/zookeeper-3.4.14目录下


       在Linux中,我们可以通过ssh命令,来完成对响应服务器的命令操作

       ssh 192.168.204.202 mkdir /xxx    即可远程为192.168.204.202服务器创建一个文件夹(如未配置免密登陆,则会提示:Are you sure you want to continue connecting (yes/no)? 输入yes继续连接,再次输入你要连接的服务器密码,即可完成创建操作)


       现在,我们来通过ssh命令,完成zookeeper集群的启动

       ①远程启动192.168.204.202中的zk服务,ssh 192.168.204.202 "/usr/local/lib/zookeeper-3.4.14/bin/zkServer.sh start";

       ②我们发现并没有启动成功,因为zookeeper启动时需要一些环境变量,特别是JAVA_HOME,ssh会话中是没有JAVA_HOME,所以无法启动。此时关乎到export作用域部分

       ③最终命令:ssh 192.168.204.202 "source /etc/profile;/usr/local/lib/zookeeper-3.4.14/bin/zkServer.sh start";将profile中的环境变量添加,即可正常启动zk服务


       上述操作需要输入密码,接下来进行免密登录设置(在一台主机操作即可,如:192.168.204.201),如已设置过免密登陆,这一步可省略(如你在192.168.204.201操作,则需要配置201到202、203服务器的免密登陆)

        步骤:①执行命令:ssh-keygen(先搞一个密钥,然后直接都回车即可)

                   ②执行命令:ssh-copy-id 192.168.204.201

                                       ssh-copy-id 192.168.204.202

                                       ssh-copy-id 192.168.204.203 输入各自服务器的密码,便完成了免密登陆操作的设置


       为了方便批量启动/关闭zookeeper集群,我们可以通过Shell脚本来完成这一操作。

  分别启动、关闭方式脚本,已废弃,请选择下文一站式 start\stop\restart\status 脚本

#zookeeper集群启动脚本(startzk.sh)
#请注意1.修改服务器  2.修改zookeeper安装路径
#!/bin/bash
#please attention to modify the zkServer.sh address
echo "start zkServer..."
server=("192.168.204.201" "192.168.204.202" "192.168.204.203")
for i in ${server[@]};
do
   ssh ${i} "source /etc/profile;/usr/local/lib/zookeeper-3.4.14/bin/zkServer.sh start"
done
#zookeeper集群关闭脚本(stopzk.sh)
#请注意1.修改服务器  2.修改zookeeper安装路径
#!/bin/bash
#please attention to modify the zkServer.sh address
echo "stop zkServer..."
server=("192.168.204.201" "192.168.204.202" "192.168.204.203")
for i in ${server[@]};
do
   ssh ${i} "source /etc/profile;/usr/local/lib/zookeeper-3.4.14/bin/zkServer.sh stop"
done

下载地址:

       zk启动脚本:https://download.csdn.net/download/lzb348110175/10553092

       zk关闭脚本:https://download.csdn.net/download/lzb348110175/10553113

直接通过命令来执行shell脚本,便能够完成对zk服务的批量启动与关闭了

2021/06/15 新增:

上述是两个脚本,现在可以使用一个脚本,来实现 zk 的 start、stop、restart、status 四种查询。

包括: 1.启动zk集群服务     2.关闭zk集群服务     3.查看zk集群状态     4.重启zk集群服务

脚本如下:

vim zookeeper.sh       

# zk服务start/stop/restart/status一键式脚本
#!/bin/bash
# zk所在服务器地址(根据个人地址修改)
server=("192.168.204.201" "192.168.204.202" "192.168.204.203")

# zk安装路径地址
zkPath="/opt/module/zookeeper-3.4.14"

# zk启动
function zk_start(){
        echo "start zkServer..."
        for i in ${server[@]};
        do
                echo "===============${i}==============="
                ssh ${i} "source /etc/profile;${zkPath}/bin/zkServer.sh start"
        done
}

# zk关闭
function zk_stop(){
        echo "stop zkServer..."
        for i in ${server[@]};
        do
                echo "===============${i}==============="
                ssh ${i} "source /etc/profile;${zkPath}/bin/zkServer.sh stop"
        done
}

# 查看zk状态
function zk_status(){
        echo "zkServer status..."
        for i in ${server[@]};
        do
                echo "===============${i}==============="
                ssh ${i} "source /etc/profile;${zkPath}/bin/zkServer.sh status"
        done
}


case $1 in
"start")
        zk_start
        ;;
"stop")
        zk_stop
        ;;
"restart")
        zk_stop
        sleep 2
        zk_start
        ;;
"status")
        zk_status
        ;;
*)
        echo Invalid Args!
        echo 'Usage: '$(basename $0)' start|stop|restart|status'
        ;;
esac

赋权限:chmod 777 zookeeper.sh  

启动zk集群:zookeeper.sh start

关闭zk集群:zookeeper.sh stop

重启zk集群:zookeeper.sh restart

查看zk集群状态:zookeeper.sh status


博主写作不易,来个关注呗

求关注、求点赞,加个关注不迷路 ヾ(◍°∇°◍)ノ゙

博主不能保证写的所有知识点都正确,但是能保证纯手敲,错误也请指出,望轻喷 Thanks♪(・ω・)ノ

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

扛麻袋的少年

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值