【问题标题】:Apache Kafka Cluster start fails with NoNodeExceptionApache Kafka 集群启动失败并出现 NoNodeException
【发布时间】:2018-09-04 10:32:05
【问题描述】:

我正在尝试启动从 Kafka 队列中消耗的 spark 流会话,并且我正在使用 Zookeeper 进行配置管理。但是,当我尝试启动时,会抛出以下异常。

18/03/26 09:25:49 INFO ZookeeperConnection: Checking Kafka topic core-data-tickets does exists ...

18/03/26 09:25:49 INFO Broker: Kafka topic core-data-tickets exists
18/03/26 09:25:49 INFO Broker: Processing topic : core-data-tickets
18/03/26 09:25:49 WARN ZookeeperConnection: Resetting Topic Offset
org.I0Itec.zkclient.exception.ZkNoNodeException: org.apache.zookeeper.KeeperException$NoNodeException: KeeperErrorCode = NoNode for /consumers/clt/offsets/core-data-tickets/4
    at org.I0Itec.zkclient.exception.ZkException.create(ZkException.java:47)
    at org.I0Itec.zkclient.ZkClient.retryUntilConnected(ZkClient.java:685)
    at org.I0Itec.zkclient.ZkClient.readData(ZkClient.java:766)
    at org.I0Itec.zkclient.ZkClient.readData(ZkClient.java:761)
    at kafka.utils.ZkUtils$.readData(ZkUtils.scala:443)
    at kafka.utils.ZkUtils.readData(ZkUtils.scala)
    at net.core.data.connection.ZookeeperConnection.readTopicPartitionOffset(ZookeeperConnection.java:145)

我已经创建了相关的 Kafka 主题。

对此的任何见解都将受到高度赞赏。

#

我正在使用以下代码来运行 spark 作业

spark-submit --class net.core.data.compute.Broker     --executor-memory 512M     --total-executor-cores 2     --driver-java-options "-Dproperties.path=/ebs/tmp/continuous-loading-tool/continuous-loading-tool/src/main/resources/dev.properties"  --conf spark.ui.port=4045   /ebs/tmp/dev/data/continuous-loading-tool/target/continuous-loading-tool-1.0-SNAPSHOT.jar

【问题讨论】:

  • 你能发布导致这个错误的命令吗?
  • @GiorgosMyrianthous 已更新
  • 该组最后一次提交偏移量是什么时候?offsets.retention.minutes 的值是多少?

标签: java apache-spark apache-kafka spark-streaming apache-zookeeper


【解决方案1】:

我猜这个错误与偏移量保留有关。默认情况下,偏移量仅存储 1440 分钟(即 24 小时)。因此,如果该组在一天内没有提交偏移量,Kafka 将没有关于它的信息。

一种可能的解决方法是相应地设置offsets.retention.minutes 的值。

offsets.retention.minutes

超过此保留期的偏移量将被丢弃

【讨论】:

  • 'offsets.retention.minutes=86400000'
  • 在ZK终端,ls /consumers/clt/offsets/core-data-tickets/4的响应是什么?
  • 我收到了这个 [zk: localhost:2181(CONNECTED) 4] ls /consumers/clt/offsets/core-data-tickets/4 []
  • 无论如何,我手动创建了 core-data-tickets/4 并且它有效.. 感谢男士指导我完成
猜你喜欢
  • 2016-07-03
  • 2011-04-04
  • 2015-01-23
  • 2017-06-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多