kafka集群每次启动都需要登录多台服务器操作,比较麻烦,安装了一个批量管理工具pssh,配置了ssh免秘钥登录,写了一个简单的shell脚本方便日常的批量启动、关闭操作。
[root@kafka1 ~]# cat /usr/local/kafka/bin/kafka-daemons.sh
#!/bin/bash
#kafka start stop
#date 2020.03.07
###########################
#[root@kafka1 ~]# cat /root/khost.txt
#192.168.180.21
#192.168.180.22
#192.168.180.23
#三台主机配置ssh免秘钥
function zookeeper_start(){
pssh -h khost.txt -i zkServer.sh start
sleep 5
pssh -h khost.txt -i jps
}
function zookeeper_stop(){
pssh -h khost.txt -i zkServer.sh stop
sleep 5
pssh -h khost.txt -i jps
}
function zookeeper_status(){
pssh -h khost.txt -i zkServer.sh status
}
function kafka_start(){
pssh -h khost.txt -i kafka-server-start.sh -daemon /usr/local/kafka/config/server.properties
sleep 5
pssh -h khost.txt -i jps
}
function kafka_stop(){
pssh -h khost.txt -i kafka-server-stop.sh
sleep 5
pssh -h khost.txt -i jps
}
function kafka_status(){
pssh -h khost.txt -i jps
}
echo -e "[1] start zookeeper
[2] stop zookeeper
[3] status zookeeper
[4] start kafka
[5] stop kafka
[6] status kafka
"
read -p "please input install servers[1]|[2]|[3]|[4]|[5]|[6]|:" server_s
case $server_s in
1)
read -p "Please confirm your input [yes]:" confirm
case $confirm in
yes|YES|YEs|yEs|yeE)
zookeeper_start
;;
*)
exit
esac
;;
2)
read -p "Please confirm your input [yes]:" confirm
case $confirm in
yes|YES|YEs|yEs|yeE)
zookeeper_stop
;;
*)
exit
esac
;;
3)
read -p "Please confirm your input [yes]:" confirm
case $confirm in
yes|YES|YEs|yEs|yeE)
zookeeper_status
;;
*)
exit
esac
;;
4)
read -p "Please confirm your input [yes]:" confirm
case $confirm in
yes|YES|YEs|yEs|yeE)
kafka_start
;;
*)
exit
esac
;;
5)
read -p "Please confirm your input [yes]:" confirm
case $confirm in
yes|YES|YEs|yEs|yeE)
kafka_stop
;;
*)
exit
esac
;;
6)
read -p "Please confirm your input [yes]:" confirm
case $confirm in
yes|YES|YEs|yEs|yeE)
kafka_status
;;
*)
exit
esac
;;
*)
echo -e "\033[32;1m please input start or stop servers[1]|[2]|[3]|[4]|[5]|[6]!!!\033[0m"
exit
esac
添加脚本的执行权限
[root@kafka1 ~]# chmod 755 /usr/local/kafka/bin/kafka-daemons.sh
启动zookeeper

启动kafka
