kafka自动关闭退出问题:开启kafka一段时间后,jps发现kafka自动退出。

一:zookeeper出现问题。

解决方法:
开启zk,来到zk路径下开启一个zk bin/zkServer.sh start
在这里插入图片描述
.

查看zk的状态 bin/zkServer.sh status
在这里插入图片描述
发现zk并没有运行,这是正常现象,因为一台机器开启zk,没有达到集群的半数,不工作。
接着在第二台机器上开启zk 并查看zk状态 bin/zkServer.sh start
bin/zkServer.sh status
如果zk状态出现如下情况:Error contacting service. It is probably not running.证明zk出现了问题,没有启动。

在这里插入图片描述
.
检查防火墙是否关闭:systemctl status firewalld
在这里插入图片描述

出现了active (running) 好消息,关闭防火墙就能解决问题!
关闭防火墙:systemctl stop firewalld
在这里插入图片描述
查看防火墙状态:`systemctl status firewalld

在这里插入图片描述
出现inactive (dead) 就已经成功关闭了,记得其他机器也要关闭防火墙。
再次先启动zk,后启动kafka。如果kafka不会自动退出,那这样就可以了。

如果以上方法并没有解决您kafka自动退出的问题,不要着急,听我分析第二种可能。
.

二:kafka的cluster.id 与 zk的中的cluster 的id不匹配

.
修改方法:进入到kafka/config 目录下的 server.properties文件 找到
log.dirs 路径在这里插入图片描述
.
进入到这个路径中(每个人修改的可能不一样,要确定自己的路径。)
找到路径下的 meta.properties 文件,vim打开,查看cluster.id的值。
(注意:检查以下每一台机器的 broker.id 是否相同,如果相同也是导致kafka无法启动的原因,类似于:改成第一台机器为:0,第二台:1,第三台:2…)
在这里插入图片描述
.

接着去到zk路径。进入到zookeeper客户端命令行模式:`bin/zkCli.sh

进入后输入 ls /,目的是找到cluster,(这里我的是直接显示,如果找不到,有可能在kafka目录下)
在这里插入图片描述
.

输入 get /cluster/id
在这里插入图片描述
得到一串密钥复制到kafka的meta.properties 里的cluster.id文件中,确保zk里的id与kafka的cluster.id相同就行。然后重启zk和kafka。
.

如果你的kafka在此之前就已经打不开了,那别着急,你也可以更改zk里的cluster
输入set /cluster/id + 需要更改的值

set /cluster/id {"version":"1","id":"u9P_hxPBTJWDco5DYdddd"}

在这里插入图片描述
总之确保kafka的cluster.id与zk的cluster相同,然后那台机器不能连上就去用以上步骤修改。

希望这篇文章能解决读者的问题,谢谢!!

Logo

大数据从业者之家,一起探索大数据的无限可能!

更多推荐