【zookeeper】linux中编写脚本批量启动zookeeper

本文介绍了一种在主从端3个节点上一键启动、关闭Zookeeper的方法,并附带查看启动状态的功能。通过创建并编辑zookeeperstart.sh和zookeeperstop.sh脚本,实现了对Zookeeper集群的统一管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实现功能:一键启动、关闭主从端3个节点上的zookeeper,附加查看启动状态

mkdir bin --新建文件夹
cd bin 跳转到bin文件夹里
touch  zookeeperstart.sh --新建一键启动文件
touch  zookeeperstop.sh --新建一键停止文件

zookeeperstart.sh添加内容:

#!/bin/bash
ZOOKEEPER_HOME=/home/hadoop/apache-zookeeper-3.5.5
 
if [ $ZOOKEEPER_HOME != ""  ]; then
        ZOOCFG=$ZOOKEEPER_HOME/conf/zoo.cfg
        for s in 01 02 03 --循环启动
                do
                        echo "INFO:starting zookeeper on ${s}"
                        ssh hadoop$s "source /etc/profile;$ZOOKEEPER_HOME/bin/zkServer.sh start" --利用ssh登陆对应的节点,执行当前对应启动命令
                        if [ $? != 0 ];
                                then
                                echo "Can not starting zookeeper server on host $s}"
                                exit 1
                        fi
                done
        for s in 01 02 03 --循环查看zookeeper状态
                do
                        echo "INFO:starting zookeeper on ${s}"
                        ssh hadoop$s "source /etc/profile;$ZOOKEEPER_HOME/bin/zkServer.sh status" --显示各节点zookeeper的启动状态
                        if [ $? != 0 ];
                                then
                                echo "Can not starting zookeeper server on host $s}"
                                exit 1
                        fi
                done
fi

 



zookeeperstopsh添加内容:

#!/bin/bash
ZOOKEEPER_HOME=/home/hadoop/apache-zookeeper-3.5.5
if [ $ZOOKEEPER_HOME != ""  ]; then
        ZOOCFG=$ZOOKEEPER_HOME/conf/zoo.cfg
        for s in 01 02 03
                do
                        echo "INFO:starting zookeeper on ${s}"
                        ssh hadoop$s "source /etc/profile;$ZOOKEEPER_HOME/bin/zkServer.sh stop"
                        if [ $? != 0 ];
                                then
                                echo "Can not starting zookeeper server on host $s}"
                                exit 1
                        fi
                done
fi


启动脚本:

sh zookeeperstart.sh
sh zookeeperstop.sh

 

例:以我的linux虚拟机上配置zookeeper为例

[hadoop@hadoop01 bin]$ sh zookeeperstop.sh
INFO:starting zookeeper on 01
/usr/bin/java
ZooKeeper JMX enabled by default
Using config: /home/hadoop/apache-zookeeper-3.5.5/bin/../conf/zoo.cfg
Stopping zookeeper ... STOPPED
INFO:starting zookeeper on 02
/usr/bin/java
ZooKeeper JMX enabled by default
Using config: /home/hadoop/apache-zookeeper-3.5.5/bin/../conf/zoo.cfg
Stopping zookeeper ... STOPPED
INFO:starting zookeeper on 03
/usr/bin/java
ZooKeeper JMX enabled by default
Using config: /home/hadoop/apache-zookeeper-3.5.5/bin/../conf/zoo.cfg
Stopping zookeeper ... STOPPED
[hadoop@hadoop01 bin]$ sh zookeeperstart.sh
INFO:starting zookeeper on 01
/usr/bin/java
ZooKeeper JMX enabled by default
Using config: /home/hadoop/apache-zookeeper-3.5.5/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
INFO:starting zookeeper on 02
/usr/bin/java
ZooKeeper JMX enabled by default
Using config: /home/hadoop/apache-zookeeper-3.5.5/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
INFO:starting zookeeper on 03
/usr/bin/java
ZooKeeper JMX enabled by default
Using config: /home/hadoop/apache-zookeeper-3.5.5/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
INFO:starting zookeeper on 01
/usr/bin/java
ZooKeeper JMX enabled by default
Using config: /home/hadoop/apache-zookeeper-3.5.5/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost.
Mode: follower
INFO:starting zookeeper on 02
/usr/bin/java
ZooKeeper JMX enabled by default
Using config: /home/hadoop/apache-zookeeper-3.5.5/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost.
Mode: leader
INFO:starting zookeeper on 03
/usr/bin/java
ZooKeeper JMX enabled by default
Using config: /home/hadoop/apache-zookeeper-3.5.5/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost.
Mode: follower

最后,我们可以看见,系统给出的信息表明,有两个follower,一个leader,这是zookeeper的工作原理



转载于:https://www.cnblogs.com/CQ-LQJ/p/11605603.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值