kafka在Windows上使用的一個bug
阿新 • • 發佈:2021-07-05
kafka在Windows 7 64上使用的一個bug:
問題描述
刪除topic時導致叢集崩潰,報錯ERROR Shutdown broker because all log dirs in D:\tmp\kafka-logs have failed
.
測試了kafka_2.11-1.1.0、kafka_2.13-2.5.0、kafka_2.13-2.6.2、kafka_2.13-2.7.0四個版本,都有這個問題。
這就奇怪了啊。我記得以前也在Windows上做過刪除topic,怎麼沒問題。
Linux上無此問題。
使用如下命名即可復現:
D:\kafka_2.13-2.6.2>bin\windows\kafka-topics.bat --bootstrap-server 127.0.0.1:9092 --create --topic testwy Created topic testwy. D:\kafka_2.13-2.6.2>bin\windows\kafka-topics.bat --bootstrap-server 127.0.0.1:9092 --list testwy D:\kafka_2.13-2.6.2>bin\windows\kafka-topics.bat --bootstrap-server 127.0.0.1:9092 --delete --topic testwy
此時叢集崩潰,zookeeper日誌:
[2021-07-05 15:01:34,614] INFO Creating new log file: log.1 (org.apache.zookeeper.server.persistence.FileTxnLog) [2021-07-05 15:11:19,821] WARN Exception causing close of session 0x1003cd606750000: 遠端主機強迫關閉了一個現有的連線。 (org.apache.zookeeper.server.NIOServerCnxn) [2021-07-05 15:11:37,939] INFO Expiring session 0x1003cd606750000, timeout of 18000ms exceeded(org.apache.zookeeper.server.ZooKeeperServer)
但zk仍然在執行。
kafka server日誌:
[2021-07-05 15:11:19,497] INFO [ReplicaFetcherManager on broker 0] Removed fetcher for partitions Set(seek-test-topic-0) (kafka.server.ReplicaFetcherManager) [2021-07-05 15:11:19,498] WARN Stopping serving logs in dir D:\tmp\kafka-logs (kafka.log.LogManager) [2021-07-05 15:11:19,498] INFO [ReplicaAlterLogDirsManager on broker 0] Removedfetcher for partitions Set(seek-test-topic-0) (kafka.server.ReplicaAlterLogDirsManager) [2021-07-05 15:11:19,501] ERROR Shutdown broker because all log dirs in D:\tmp\kafka-logs have failed (kafka.log.LogManager)
kafka server直接關閉了。
解決辦法
直接重啟kafka-sever依然會報錯。只能刪除tmp
目錄下的全部log檔案。