在Storm Server上部署拓扑错误:/ Brokers / topics / blockdata / partitions的NoNode

时间:2018-05-28 06:51:31

标签: apache-kafka apache-storm

我正在尝试将storm / flux拓扑部署到远程服务器。拓扑成功部署,但在服务器风暴UI上,它显示了spout lag错误:

  

无法获得kafka的偏移滞后。原因:   org.apache.zookeeper.KeeperException $ NoNodeException:KeeperErrorCode   = org.apache.zookeeper.keeperExceptiom.create中的/ brokers / topics / blockdata / partitions的NoNode ...

虽然我已经使用以下内容检查了我的zookeeper:

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

这是我的spout配置:

  - 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"

注意:此拓扑在本地模式下运行良好。

请参阅以下屏幕截图:

Error Screenshot

2 个答案:

答案 0 :(得分:1)

这是来自Storm UI的一部分,它应该向您显示您的喷口在日志结束偏移后面的距离。如果您感兴趣,代码就在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。

答案 1 :(得分:0)

您不得使用collector.ack(tuple);会导致Spout重复发送元组,并且不会在Zookeeper中记录偏移量。