Zookeeper & Kafka 错误 KeeperErrorCode=NodeExists
Posted
技术标签:
【中文标题】Zookeeper & Kafka 错误 KeeperErrorCode=NodeExists【英文标题】:Zookeeper & Kafka error KeeperErrorCode=NodeExists 【发布时间】:2016-03-27 10:02:57 【问题描述】:我写了一个 kafka 消费者和生产者,直到今天都很好。 今天早上,当我启动zookeeper和kafka时,我的消费者无法读取消息,我在zookeeper日志中发现了这个:
INFO Got user-level KeeperException when processing sessionid:0x151c41e62e10000
type:create cxid:0x2a zxid:0x1e txntype:-1 reqpath:n/a
Error Path:/brokers/ids
Error:KeeperErrorCode = NodeExists for /brokers/ids
(org.apache.zookeeper.server.PrepRequestProcessor)
【问题讨论】:
看起来您正在尝试使用相同的代理 ID 启动另一个 kafka 代理 谢谢。这很奇怪。我遵循与其他时间相同的程序。我可以尝试解决什么问题? 遇到同样的问题,重启节点没问题,Kafka没有记录任何东西,只有zookeeper在抱怨,但消费者无法订阅。 面临同样的问题。必须清除所有日志和 zookeeper 文件才能解决此问题。 能否提供您的 Kafka 服务器版本、Zookeeper 版本、Kafka 客户端版本?您是否还可以提供给定主题/分区的主题信息和元数据。 【参考方案1】:在 server.properties 文件中查找 log.dirs 并从那里删除所有 Kafka 和 zookeeper 日志,然后分别尝试重新启动 zookeeper 和 Kafka。我遇到了同样的问题,这样做解决了它。
【讨论】:
【参考方案2】:根据 Confluent 于 2016 年 10 月 8 日https://groups.google.com/forum/#!topic/confluent-platform/h0gEik_Ii1E 发布的消息
那些不是错误,你可以看到日志级别是INFO。简直是 记录 Kafka 试图创建一个已经存在的节点。完全 Kafka 的正常行为,无需担心。
是否存在与消息相关的实际问题或一切正常?
【讨论】:
【参考方案3】:转到 Kafka 根目录并查找日志文件。并清除所有日志。例如: 假设您的 kafka 已安装在下载文件夹中:
cd ~/Downloads/kafka_2.13-2.6.0
rm -rf logs
它会解决问题。
【讨论】:
【参考方案4】:我在 Windows 7 上运行的 Kafka 中出现此错误。 我认为这个异常不是问题,因为它只是信息级别。只要确保代理仍在运行。即使有这个错误,我仍然可以:
-
创建并列出主题
kafka-topics.bat
。
消费话题kafka-console-consumer.bat
。
以编程方式发送消息producer.send(new ProducerRecord<String, String>("topic", "hello")).get()
。
【讨论】:
我确认了这一点,因为我在 Windows 环境中遇到了同样的问题,但它似乎不影响功能以上是关于Zookeeper & Kafka 错误 KeeperErrorCode=NodeExists的主要内容,如果未能解决你的问题,请参考以下文章
学习笔记Kafka—— Kafka安装配置—— JDK&Zookeeper安装Zookeeper 常用操作