Apache Storm 2.2.0 UI:不发出也不传输元组

问题描述

我使用的是 Apache Storm 2.2.0。我的 spout 读取一个 json 文件,并将其发送到一个 Bolt,将它存储到 ES。我的 pom.xml 有以下依赖项:

<dependencies>
    <dependency>
        <groupId>org.apache.storm</groupId>
        <artifactId>storm-core</artifactId>
        <version>2.2.0</version>
        <scope>compile</scope>
    </dependency>

    <dependency>
        <groupId>com.google.code.gson</groupId>
        <artifactId>gson</artifactId>
        <version>2.8.6</version>
    </dependency>

    <dependency>
        <groupId>org.elasticsearch.client</groupId>
        <artifactId>elasticsearch-rest-client</artifactId>
        <version>7.6.1</version>
    </dependency>
</dependencies>

我的storm.yaml

storm.zookeeper.servers:
      - "localhost"
#     - "server1"
#     - "server2"
# 
 nimbus.seeds: ["localhost"]
# 
 storm.zookeeper.port: 2181
 nimbus.host: "127.0.0.1"
 storm.local.dir: "/tmp/storm-data"
 ui.port: 8082
 java.library.path: "/usr/local/lib"
 supervisor.slots.ports:
     - 6700
     - 6701
     - 6702
     - 6703

我使用以下命令提交我的拓扑:

storm jar --jar /home/john/.m2/repository/com/google/code/gson/gson/2.8.6/gson-2.8.6.jar,/home/john/.m2/repository/org/elasticsearch/client/elasticsearch-rest-client/7.6.1/elasticsearch-rest-client-7.6.1.jar target/my-1.0-SNAPSHOT.jar MyTopology

我的拓扑已成功提交给 Storm,因为我可以从 Storm UI 进行验证,但是,我没有看到从我的 spout 发出/传输的元组(因此我的 bolt 也没有)。

使用 LocalCluster 一切正常,我可以验证插入到我的 ES 索引中的元组。使用

StormSubmitter.submitTopology(TOPOLOGY_NAME,conf,topology);

虽然,并使用上述命令提交它,我也没有看到任何错误(例如,它找不到输入的 json 文件)。我确实看到工人、主管、执行者和任务的数量 > 0,但没有发出/传输元组

我在同一台机器上运行 storm nimbusstorm supervisor。我是否需要在另一台机器上启动另一个主管才能工作?它应该只与一名主管一起工作。

我错过了什么吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)