在storm服务器上部署拓扑错误:nonode for/brokers/topics/blockdata/partitions

yxyvkwin  于 2021-06-06  发布在  Kafka
关注(0)|答案(2)|浏览(399)

我正在尝试将storm/flux拓扑部署到远程服务器。拓扑已成功部署,但在servers storm ui上,它显示“喷口滞后错误”:
无法获取Kafka的偏移滞后。原因:org.apache.zookeeper.keeperexception$nonodeexception:keepererrorcode=nonode for/brokers/topics/blockdata/partitions at org.apache.zookeeper.keeperexception.create。。。
尽管我已经用以下方式登记了我的Zookeeper:

ls /brokers/topics/blockdata/partitions, it exists.

这是我的喷口配置:

- id: "zkHosts"
    className: "org.apache.storm.kafka.ZkHosts"
    constructorArgs:
      - "172.25.33.191:2181"

  - id: "startingOffsetTime"
    className: "kafka.api.OffsetRequest"
    factory: "LatestTime"

  - id: "spoutConfig"
    className: "org.apache.storm.kafka.SpoutConfig"
    constructorArgs:
      - ref: "zkHosts"
      - "blockdata"
      - "/brokers/topics"
      - "myId"
    properties:
      - name: "ignoreZkOffsets"
        value: true
      - name: "scheme"
        ref: "stringMultiScheme"
      - name: "startOffsetTime"
        ref: "startingOffsetTime"

注意:此拓扑在本地模式下运行良好。
请看下面的截图:
错误屏幕截图

6za6bjd0

6za6bjd01#

这是来自storm用户界面的一部分,它应该向您显示喷口距离原木末端偏移有多远。如果你感兴趣代码在这里https://github.com/apache/storm/blob/v1.2.1/external/storm-kafka-monitor/src/main/java/org/apache/storm/kafka/monitor/kafkaoffsetlagutil.java
请尝试让拓扑运行一段时间,然后尝试重新打开storm ui,看看错误是否继续发生。有可能你只是碰巧在Kafka喷口给zookeeper写信之前打开了storm ui。

9jyewag0

9jyewag02#

不能使用collector.ack(tuple);在你的螺栓。它会导致喷口重复发送元组,不记录在zookeeper偏移。

相关问题