Kafka tips3: Kafka启动后自动关闭问题

Kafka tips3: Kafka启动后自动关闭问题

问题描述

  • Zookeeper集群正常启动
  • kafka集群启动之后,一段时间后,有两台机器自动关闭。
下面是我的集群信息
IP
Zookeeper(2181)
Kafka(9092)
备注
redis01
192.168.92.145
没问题
redis02
192.168.92.146
有问题
redis03
192.168.92.147
有问题
redis04
192.168.92.148
没问题

分析

1. 一种情况

  • kafka启动之后,一段时间后自动停止,出现这种情况一般是没有使用守护进程 -daemon 启动kafka。

2. 另一种情况

  • 上次kafka没有正常退出,即kafka还没有关闭就关闭了zookeeper。

解决

  • 我的问题是第二种情况
  • 先关闭Kafka
  • 确保你的Zookeeper集群是正常启动的

1. 查看Zookeeper

按照网上的解决方法,我查看了我的zookeeper集群,发现没问题!
# 1.Zookeeper集正常启动 # 2.启动Zookeeper终端查看 root@redis02:/usr/local/zookeeper# ./bin/zkCli.sh [zk: localhost:2181(CONNECTED) 0] ls / [kafka, zookeeper] [zk: localhost:2181(CONNECTED) 1] ls /kafka [admin, brokers, cluster, config, consumers, controller_epoch, feature, isr_change_notification, latest_producer_id_block, log_dir_event_notification] [zk: localhost:2181(CONNECTED) 2] ls /kafka/brokers/ids []
 

2. 查看Kafka

  • 查看kafka安装目录中logs文件夹下server.log 文件
root@redis02:/usr/local/kafka/logs# cat server.log
发现重要的错误信息,记住这个目录/usr/local/kafka/datas
[2022-03-03 21:06:35,478] WARN [ReplicaManager broker=1] Stopping serving replicas in dir /usr/local/kafka/datas (kafka.server.ReplicaManager) [2022-03-03 21:06:35,485] WARN [ReplicaManager broker=1] Broker 1 stopped fetcher for partitions and stopped moving logs for partitions because they are in the failed log directory /usr/local/kafka/datas. (kafka.server.ReplicaManager) [2022-03-03 21:06:35,485] WARN Stopping serving logs in dir /usr/local/kafka/datas (kafka.log.LogManager) [2022-03-03 21:06:35,487] ERROR Shutdown broker because all log dirs in /usr/local/kafka/datas have failed (kafka.log.LogManager)
 
  • 删除kafka该目录/usr/local/kafka/datas内容
💥如果重要文件,一定要备份该文件!💥
  • 我这里是四台Kafka机器节点,redis01、redis04没问题。redis02、redis03出现问题的,我删除了该这两台机器中的文件夹
root@redis02:/usr/local/kafka# rm -rf datas/ root@redis03:/usr/local/kafka# rm -rf datas/
  • 看到删除数据还是很慌的🥳,不过我删除后,在启动Kafka集群发现数据同步了。敲开心😁!
 
我到这里就顺利解决问题了。
 

Tips

网上提示如果有问题,还需要删除zookeeper配置的dataDir目录内容,再重启zookeeper和kafka服务。