启动和停止脚本,因为路径经常出错,导致启动或者停止不成功。此脚本需要在/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入门十分简单,短时间内就可以看懂并自己写出简单的脚本代码。