關於群起kafka指令碼

luluxiu_1999發表於2020-10-07

啟動和停止指令碼,因為路徑經常出錯,導致啟動或者停止不成功。此指令碼需要在/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

相關文章