linux命令执行批处理脚本启动和关闭zookeeper

本文介绍了一个用于ZooKeeper集群的一键启动和停止脚本,该脚本通过SSH实现远程主机上的ZooKeeper服务管理。文章详细解释了脚本的工作原理,并提供了如何解决因环境变量未正确配置而导致的启动失败问题。

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

1.脚本命令:

vim xcallzk.sh

其中hosts文件和zkServer.sh的位置需要和你本机的安装位置一致

#!/bin/bash
# 获取控制台指令
cmd=$*

# 判断指令是否为空
if [ ! -n "$cmd" ]
then
    echo "command can not be null!"
    exit
fi

# 获取当前登录用户
user=`whoami`

# 在从机执行命令,需要根据具体集群情况配置
hosts=(master slave1 slave2)

case $1 in
"start"){

for host in ${hosts[@]}
do
    echo "======current host is $host======"
    ssh $user@$host "sh /home/zookeeper/zookeeper-3.4.10/bin/zkServer.sh start"
done
};;

"stop"){

for host in ${hosts[@]}
do
    echo "======current host is $host======"
    ssh $user@$host "sh /home/zookeeper/zookeeper-3.4.10/bin/zkServer.sh stop"
done
};;

esac
echo "execute successfully !"

2.运行环境

修改文件权限:

chmod 777 xcallzk.sh

运行命令发现显示启动成功,但是使用jps没有进程,但是直接不使用ssh启动是可以的,查了下资料。原来是ssh远程执行的需要配置一个环境变量:

vim ~/.bashrc

将etc/profile下面的自己配置的环境变量拷贝过来,主要是java环境

重新运行脚本命令,再使用jps查询,启动成功:

# 启动
./xcallzk.sh start

# 关闭
./xcallzk.sh stop

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值