当前位置: 首页 > 知识库问答 >
问题:

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

于意智
2023-03-14

我正在尝试将storm/flux拓扑部署到远程服务器。拓扑已成功部署,但在服务器storm UI上,它显示“喷口滞后错误”:

无法获取Kafka的偏移滞后。理由:组织。阿帕奇。动物园管理员。KeeperException$NoNodeException:KeeperErrorCode=noode for/brokers/topics/blockdata/org上的分区。阿帕奇。动物园管理员。KeeperException。创造

尽管我已经使用以下方法登记了我的动物园管理员:

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"

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

请参见下面的屏幕截图:

错误截图

共有2个答案

纪畅
2023-03-14

您不能使用收集器。ack(元组);在你的门闩里。它会导致喷口重复发送元组,并且不会在zookeeper中记录偏移量。

祝昊东
2023-03-14

这是来自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喷口设法写信给动物园管理员之前,你可能碰巧打开了Storm UI。

 类似资料:
  • 我是阿帕奇Storm的新手。我已经在intellij中用java创建了一个storm项目,它成功地创建了一个本地集群,并将拓扑提交给它,然后在本地运行。我想在亚马逊EC2上运行这个Storm项目。我跟踪了https://github.com/nathanmarz/storm-deploy/wiki链接。跟随链接成功发射了2个主管,1个动物园管理员和1个灵光。现在我想在服务器上运行我的拓扑。这是我在

  • 我试图在storm Clustre上部署一个简单的字数拓扑。我使用kafka作为输入(kafka Spout)。这是我得到的错误 java.lang.noClassDefFoundError:无法初始化类org.apache.log4j.log4jLogger.getLogger(logger.java:39)在kafka.utils.logging$class.logger(logger.sca

  • Storm版本:1.2.2平台:Windows Server 2008 “错误:无法终止pid xxx进程,只能终止此进程(使用\f选项)。” 错误消息从以下图片翻译:error-info-pic 我不知道与这个错误,我已经使用谷歌搜索一些答案,但没有找到,所以我发送这条消息给你。我希望你能帮助我。 我已经编译了一个新的Storm-Core.jar,并在supervisor杀死worker时添加了

  • 我正在尝试使用Eclipse在Linux中运行Storm启动示例。我收到以下错误和函数从未被调用。 错误: 我的拓扑类: 我正在虚拟机环境中工作,所以不知道这是否是由于安装了Zookeeper。有什么想法吗?

  • 8台机器一直在使用。每一个都有22个核心和512 GB的RAM。但是,我们的代码运行得真的很慢。传输600万个数据需要10分钟才能完成。 60个文件中的10 MB在一秒钟内传输到HDFS。我们正在努力优化我们的代码,但很明显我们做了一些非常错误的事情。 对于蜂巢表,我们有64个桶。 在HDFS喷口;.setmaxextending(50000); 在蜂巢喷口选项;.WithTxNsperBatch

  • 如何为storm拓扑提供自定义配置?例如,如果我构建了一个连接到MySQL集群的拓扑,并且我希望能够更改需要连接到哪些服务器而不需要重新编译,我将如何做到这一点?我更喜欢使用配置文件,但我担心文件本身没有部署到集群中,因此它不会运行(除非我对集群工作方式的理解有缺陷)。到目前为止,我所看到的在运行时将配置选项传递到storm拓扑的唯一方法是通过命令行参数,但当您获得大量参数时,这将是混乱的。 有一