gpt4 book ai didi

windows - Windows Docker 托管Kafka 删除主题异常

转载 作者:可可西里 更新时间:2023-11-01 13:50:55 25 4
gpt4 key购买 nike

我在 Windows 的 Docker 中托管 Kafka。 Wurstmeister/Kafka使用 docker 镜像。 Kafka 数据存储在本地 Windows 文件夹中以实现持久性。 Windows 文件夹通过 Docker 卷映射到 Kafka docker 镜像。我可以创建主题、发布和使用消息。但是,当我尝试删除主题时,我收到以下错误:

 Error while deleting test-0 in dir /var/lib/kafka. (kafka.server.LogDirFailureChannel)
java.io.IOException: Failed to rename log directory from /var/lib/kafka/test-0 to /var/lib/kafka/test-0.a81ff9700e4e4c3e8b20c6d949971b64-delete
at kafka.log.LogManager.asyncDelete(LogManager.scala:671)
at kafka.cluster.Partition.$anonfun$delete$1(Partition.scala:178)
at kafka.utils.CoreUtils$.inLock(CoreUtils.scala:217)
at kafka.utils.CoreUtils$.inWriteLock(CoreUtils.scala:225)
at kafka.cluster.Partition.delete(Partition.scala:173)
at kafka.server.ReplicaManager.stopReplica(ReplicaManager.scala:341)
at kafka.server.ReplicaManager.$anonfun$stopReplicas$2(ReplicaManager.scala:373)
at scala.collection.Iterator.foreach(Iterator.scala:929)
at scala.collection.Iterator.foreach$(Iterator.scala:929)
at scala.collection.AbstractIterator.foreach(Iterator.scala:1417)
at scala.collection.IterableLike.foreach(IterableLike.scala:71)
at scala.collection.IterableLike.foreach$(IterableLike.scala:70)
at scala.collection.AbstractIterable.foreach(Iterable.scala:54)
at kafka.server.ReplicaManager.stopReplicas(ReplicaManager.scala:371)
at kafka.server.KafkaApis.handleStopReplicaRequest(KafkaApis.scala:190)
at kafka.server.KafkaApis.handle(KafkaApis.scala:104)
at kafka.server.KafkaRequestHandler.run(KafkaRequestHandler.scala:65)
at java.lang.Thread.run(Thread.java:748)

有人可以帮我解决这个问题吗?

UPD:你可以在下面找到我用来运行 Kafka 的 docker-compose 文件的内容:

version: '3'
services:
zookeeper:
image: zookeeper
ports:
- "2181:2181"
environment:
ZOO_MY_ID: 1
volumes:
- ./zookeeper_data:/data
- ./zookeeper_datalog:/datalog
kafka:
depends_on:
- zookeeper
image: wurstmeister/kafka
ports:
- "9092:9092"
environment:
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_ADVERTISED_HOST_NAME: localhost
KAFKA_LOG_DIRS: /var/lib/kafka
KAFKA_AUTO_CREATE_TOPICS_ENABLE: 'false'
KAFKA_BROKER_ID: 1
volumes:
- ./kafka_logs:/var/lib/kafka

最佳答案

当我尝试删除主题时,此问题在 Windows for Kafka ver 1.1.0 (kafka_2.12-1.1.0) 中仍然存在。

主题被标记为删除,Kafka 服务器在尝试重命名日志目录“test-0”时出现 java.nio.file.AccessDeniedException 失败

删除整个 test-0 日志文件夹没有帮助。重新安装 Kafka 服务器也无济于事 - 即使在重新安装之后,有关标记为删除的主题的信息仍然存在。

我花了几个小时才弄清楚关于该主题的信息位于 Zookeeper 中 - 在一个日志文件中!

解决方案

停止 Zookeeper 进程。转到 Zookeeper 日志文件夹 zookeeper-3.x.x\bin\zookeeper-3.x.xdata\version-2\并删除最新的 log.xx 文件。重新启动动物园管理员。重启 Kafka 服务器。

关于windows - Windows Docker 托管Kafka 删除主题异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48114040/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com