大数据-消息队列-Kafka(三):群起脚本【kafka.sh】【启动:先Zookeeper,再Kafka;关闭:先Kafka,在Zookeeper】

①在/home/wyr/bin目录下创建kafka.sh文件

[wyr@hadoop102 opt]$ cd /home/wyr
[wyr@hadoop102 ~]$ mkdir bin
[wyr@hadoop102 ~]$ cd bin
[wyr@hadoop102 bin]$ vim kafka.sh

在该文件中编写如下代码 

#! /bin/bash

# 判断参数个数
if [ $# != 1 ];then
  echo -e "请输入参数:\n start  启动kafka集群;\n stop  停止kafka集群;\n status  kafka集群状态;\n"
  exit;
fi

case $1 in
	"start")
		for host in hadoop103 hadoop102 hadoop104
		  do
			echo "---------- $1 $host 的kafka ----------"
			ssh $host "/opt/module/kafka/bin/kafka-server-start.sh -daemon /opt/module/kafka/config/server.properties"
		  done
	;;
	"stop")
		for host in hadoop103 hadoop102 hadoop104
		  do
			echo "---------- $1 $host 的kafka ----------"
			ssh $host "/opt/module/kafka/bin/kafka-server-stop.sh"
		  done
	;;
	"status")
		for host in hadoop102 hadoop103 hadoop104
		  do
			echo =============== $host ===============
			ssh $host jps
		  done
	;;
	*)
		echo -e "---------- 请输入正确的参数 ----------\n"
		echo -e "start  启动kafka集群;\n stop  停止kafka集群;\n status  查看kafka集群状态;" && exit
	;;
esac

 修改脚本 kafka.sh 具有执行权限

[wyr@hadoop102 bin]$ chmod +x kafka.sh

将脚本复制到/usr/bin/中,以便全局调用

[wyr@hadoop102 bin]$ pwd
/home/wyr/bin
[wyr@hadoop102 bin]$ sudo cp /home/wyr/bin/kafka.sh /usr/bin/

注意:

停止Kafka集群时,一定要等Kafka所有节点进程全部停止后再停止Zookeeper集群

因为Zookeeper集群当中记录着Kafka集群相关信息,Zookeeper集群一旦先停止,Kafka集群就没有办法再获取停止进程的信息,只能手动杀死Kafka进程了。

猜你喜欢

转载自blog.csdn.net/u013250861/article/details/129915130