kafka启动闪退(zookeeper timeout)的解决办法
1.情景展示
在关闭kafka后,再次运行经常会出现闪退的情况。
2.具体分析
经过截屏发现:原来是kafka连接zookeeper超时,导致kafka启动失败。
kafka.zookeeper.ZooKeeperClientTimeoutException: Timed out waiting for connection while in state。
3.解决方案
由于kafka的运行必须依赖于zookeeper,所以,在启动kafka之前,我们需要先启动zookeeper。
关掉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就不报错啦。
同样的,我们也可以将kafka的启动命令封装成bat文件。
cd kafka_2.13-3.5.1\bin\windows
kafka-server-start.bat ../../config/server.properties
本文来自博客园,作者:Marydon,转载请注明原文链接:https://www.cnblogs.com/Marydon20170307/p/17919893.html