kafka启动闪退(zookeeper timeout)的解决办法

发布时间 2023-12-21 19:02:55作者: Marydon

1.情景展示

在关闭kafka后,再次运行经常会出现闪退的情况。

2.具体分析

经过截屏发现:原来是kafka连接zookeeper超时,导致kafka启动失败。

kafka.zookeeper.ZooKeeperClientTimeoutException: Timed out waiting for connection while in state。

3.解决方案

由于kafka的运行必须依赖于zookeeper,所以,在启动kafka之前,我们需要先启动zookeeper。

关掉zookeeper,重新运行。

第一步:跳转到zookeeper.bat所在目录。

cd kafka_2.13-3.5.1\bin\windows

第二步:运行zookeeper-server-start.bat

zookeeper-server-start.bat ../../config/zookeeper.properties

说明:运行的时候,需要指定zookeeper的配置文件。 

  另外的话,如果你也是在windows下运行的话,可以将其整合到bat文件当中。

cd kafka_2.13-3.5.1\bin\windows
zookeeper-server-start.bat ../../config/zookeeper.properties

只要确保此bat文件和kafka在同一目录下即可。 

 

当DOS命令窗口出现:ZooKeeper audit is disabled.字样的时候,就说明zookeeper启动成功了。

启动kafka。

当出现字样:Recorded new controller, from now on will use node 用户名:端口时,就说明kafka已经启动成功啦。

后续就一直是:如圈2的运行进程啦。

4.补充

如果启动之后报的错是:读取日志失败的话,就不用管,不影响正常使用。

默认情况下,zookeeper会将运行日志存放到tmp/zookeeper目录下。

只要tmp/zookeeper目录里面有日志,下次启动的时候必然报错。

如果是强迫症,不想看到报错信息,我们可以将tmp目录下的zookeeper目录删掉,再启动zookeeper就不报错啦。

写在最后

  哪位大佬如若发现文章存在纰漏之处或需要补充更多内容,欢迎留言!!!

 相关推荐: