zookeeper自动化脚本---一键启动

版权声明:本文为博主原创文章,未经博主允许不得转载!!

欢迎访问:https://blog.csdn.net/qq_21439395/article/details/80870973

交流QQ: 824203453

 

基于zookeeper 3.4.6版本

因为zookeeper本身没有批量启动脚本,所以,每次都需要一台机器一台机器的启动。非常麻烦。

这里提供一个zookeeper的集群批量启动脚本。

#!/bin/bash

ZOOKEEPER_HOME=/root/apps/zookeeper-3.4.6

if [ $ZOOKEEPER_HOME != ""  ]; then
        ZOOCFG=$ZOOKEEPER_HOME/conf/zoo.cfg
        SLAVES=$(cat "$ZOOCFG" | sed '/^server/!d;s/^.*=//;s/:.*$//g;/^$/d')
        for s in $SLAVES
                do
                        echo "INFO:starting zookeeper on ${s}"
                        ssh $s "source /etc/profile;$ZOOKEEPER_HOME/bin/zkServer.sh start"
                        if [ $? != 0 ];
                                then
                                echo "Can not starting zookeeper server on host $s}"
                                exit 1
                        fi
                done
fi

思路:

设置zookeeper安装目录

获取安装目录下的zoo.cfg配置文件(该文件中有所有的zookeeper节点)

获取该配置文件中的所有的zookeeper节点。

循环遍历,利用ssh命令启动每台机器上的zookeeper。

注意事项:

1,本次测试的3台机器主机名分别是hdp-01,hdp-02和 hdp-03。 然后hdp-01到hdp-02和hdp-01到hdp-03的单向免密登录是通的。否则就需要先进行免密登录配置。(因为没有全部配通免密登录,所有启动命令只能在hdp-01上执行即可,如果想在任意一台机器上都能执行,那么就需要配置所有的免密登录)

2,在ssh 远程启动脚本中,先执行了 source /etc/profile,重新加载了系统环境变量。目的是为了把jdk的命令加载到当前系统环境中,否则报错。

报错如下:

一键停止,只需要把start命令改成stop命令即可,获取通过参数穿的具体的操作也是ok的。

 

版权声明:本文为博主原创文章,未经博主允许不得转载!!

欢迎访问:https://blog.csdn.net/qq_21439395/article/details/80870973

交流QQ: 824203453

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值