启动和停止脚本,因为路径经常出错,导致启动或者停止不成功。此脚本需要在/etc/profile文件里配置KAFKA_HOME。
使用方法:<自定义的文件名> start/stop
例:
kk.sh start
kk.sh stop
hadoop102等是hosts中配置的主机名。
#!/bin/bash
case $1 in
"start"){
for i in hadoop102 hadoop103 hadoop104
do
echo "************$i************"
ssh $i "source /etc/profile;nohup ${KAFKA_HOME}/bin/kafka-server-start.sh -daemon ${KAFKA_HOME}/config/server.properties"
done
};;
"stop"){
for i in hadoop102 hadoop103 hadoop104
do
echo "************$i************"
ssh $i "source /etc/profile;nohup ${KAFKA_HOME}/bin/kafka-server-stop.sh ${KAFKA_HOME}/config/server.properties"
done
};;
esac
解决停止kafka,出现No kafka server to stop的问题
将kafka-server-stop.sh中的
PIDS=$(ps ax | grep -i ‘kafka.Kafka’ | grep java | grep -v grep | awk ‘{print $1}’)
修改为
PIDS=$(jps -lm | grep -i ‘kafka.Kafka’ | awk ‘{print $1}’)
在执行过程中还出现了jps找不到的问题。
解决报错“bash: jps: command not found”
1.切换root用户
su root
2.创建符号链接
ln -s jps的路径 链接目标存放位置
我的设置如下:
ln -s /opt/module/jdk1.8.0_144/bin/jps /bin/jps
参考链接:
https://blog.csdn.net/weixin_44318830/article/details/104959433
https://blog.csdn.net/KingAnne/article/details/101034794
https://my.oschina.net/u/4342612/blog/3332480
其实其它的群起代码也是一样,配置好hosts、ssh还有应用程序环境变量,通过命令行输入命令就可以执行操作了。这个脚本其实很简单,简单的shell脚本并不难,希望同学们可以去学习一下基本的shell语法,shell入门十分简单,短时间内就可以看懂并自己写出简单的脚本代码。