我们可以编写一个脚本来控制整个集群的启动和关闭 , 步骤如下 :
在 /root/bin 目录下创建 kafka.sh
#!/bin/bash
echo --- Kafka 控制命令 ---
case $1 in
"start")
for i in 172.17.120.146 172.17.16.197 172.17.41.26
do
ssh $i /kafka/bin/kafka-server-start.sh -daemon /kafka/config/kraft/server.properties
echo "启动 Kafka@$i "
done
;;
"stop")
for i in 172.17.120.146 172.17.16.197 172.17.41.26
do
echo "关闭 Kafka@$i "
ssh $i /kafka/bin/kafka-server-stop.sh
done
;;
esac
kafka.sh start
kafka.sh stop
在 centos 环境下 ssh 命令无法加载 /etc/ 目录下的环境变量,会造成 java 环境启动失败,解决方案 :
在 ~ .bashrc 内添加 java 环境变量
export JAVA_HOME=/jdk #jdk安装目录
export JRE_HOME=${JAVA_HOME}/jre #jre安装目录
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=$PATH:${JAVA_HOME}/bin:${JRE_HOME}/bin
刷新环境变量
source .bashrc