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 常用操作

学习笔记Kafka—— Kafka安装配置—— JDK&Zookeeper安装Zookeeper 常用操作

kafka&zookeeper

mac zookeeper&kafka 安装包搭建环境

mac zookeeper&kafka 安装包搭建环境

Zookeeper & Kafka 开启安全认证的配置