集群启动脚本
1.三台主机之间,需要先免密。
2.x x1 x2 修改为相应的主机名
3. source /etc/profile; (重要)Java环境所在地方
4. 为了命令能够找到我们创建的脚本;可创建到以下任一bin目录; 以/usr/bin 为例
echo $PATH
cd /usr/bin/
vi kk.sh
以kafka集群启动为例:
#!/bin/bash
case $1 in
"start"){
for i in x x1 x2
do
echo --------$i 启动kafka---------
ssh $i "source /etc/profile;/opt/kafka/bin/kafka-server-start.sh -daemon /opt/kafka/config/server.properties"
done
};;
"stop"){
for i in x x1 x2
do
echo --------$i 停止kafka---------
ssh $i "source /etc/profile;/opt/kafka/bin/kafka-server-stop.sh stop"
done
};;
esac
:wq 保存退出
5.给脚本赋予权限
chmod 777 kk.sh
kafka 的bin目录下 kafka-server-stop.sh
有些问题,需要先修改一下官方提供的stop脚本,集群中的每一台机器都要改(注意 kafka 里面的k是小写)
PIDS=$(ps ax |grep -i 'kafka\.Kafka' | grep java | grep -v grep | awk '{print $1}')
改为
PIDS=$(ps ax | grep -i 'kafka' | grep java | grep -v grep | awk '{print $1}')
注:kafka启动前需要先启动zookeeper。
6.启动和停止
启动:kk.sh start
停止:kk.sh stop
jps
查看进程
停止
启动报错解决方法:
sed -i 's/\r$//' xxx.sh
其他软件集群启动,参考这个
搞定!