Kafka群起群关脚本失败
#!/bin/bash
case $1 in
"start"){
for i in node1 node2 node3
do
echo "**********$i***********"
ssh $i "/export/server/kafka/bin/kafka-server-start.sh -daemon /export/server/kafka/config/server.properties"
done
};;
"stop"){
for i in node1 node2 node3
do
echo "**********$i***********"
ssh $i "/export/server/kafka/bin/kafka-server-stop.sh"
done
};;
esac
脚本无效,无法正常启停
解决方案:
首先检查broker.id是否一样,一样的话进行更改,保证集群broker.id不一致
检查环境变量是否配置
检查zookeeper是否启动
如果还是无法正常启停
需要配置 vim ~/.bashrc
添加代码:
export JAVA_HOME=/opt/module/jdk1.8.0_65
export PATH=$PATH:$JAVA_HOME/bin
将.bashrc文件分发到其他节点上
原因:登录式Shell,采用用户名比如xxx登录,会自动加载/etc/profile
非登录式Shell,采用ssh 比如ssh node1登录,不会自动加载/etc/profile,会自动加载~/.bashrc
参考:https://blog.csdn.net/weixin_45721882/article/details/116033387