之前介绍过Kafka集群环境的搭建,但是细心的朋友们都发现,Kafka与ZooKeeper一样,都需要在每台节点上执行对应的开启/关闭脚本,十分的不方便。现在我们学习只用到了3台节点,如果以后到了企业,节点多了我们肯定就不能这么干了,那有什么简便的方法么?
结合前面博主分享给大家ZK的脚本,大家是不是也推断出我们也可以写一个Kafka的集群启动/关闭脚本呢?
这不就来了么~
来到Kafka的bin目录下.
cd /export/servers/kafka_2.11-1.0.0/bin
集群启动
vim kafka_startall.sh
#!/bin/bash
# 集群节点的名称,这里替换成自己的
BROKERS="node01 node02 node03"
# Kafka的安装目录
KAFKA_HOME="/export/servers/kafka_2.11-1.0.0"
for broker in $BROKERS
do
echo "INFO:starting kafka server on ${broker}"
ssh $broker "source /etc/profile;nohup ${KAFKA_HOME}/bin/kafka-server-start.sh -daemon ${KAFKA_HOME}/config/server.properties >/dev/null
2>&1 &"
if [ $? != 0 ];
then
echo "Can not starting kafka server on host ${broker}";
exit 1;
fi
done
效果图:
集群关闭
vim kafka_stopall.sh
#!/bin/bash
#!/bin/bash
for host in node01 node02 node03
do
ssh $host "source /etc/profile;jps |grep Kafka |cut -c 1-6 |xargs kill -s 9"
echo "$host kafka is stopping"
done
效果图:
大家如果配置了环境变量的话,直接在任意目录下都可以执行这两个脚本,想想都很方便呢!认为对你有帮助的话,不妨点个赞哟~