【问题标题】:How can I submit an Apache Storm topology to a Storm cluster?如何将 Apache Storm 拓扑提交到 Storm 集群?
【发布时间】:2021-06-02 05:35:47
【问题描述】:

我正在关注本教程:https://docs.microsoft.com/en-us/azure/hdinsight/storm/apache-storm-develop-java-topology

到目前为止我所做的是

  • maven 设置
  • vi *.java 文件(在src/main/java/com/microsoft/example 目录中)
    • RandomSentenceSpout.java
    • SplitSentence.java
    • WordCount.java
    • WordCountTopology.java
  • mvn 编译
  • jar cf storm.jar *.class(在target/classes/com/microsoft/example目录中)
    • RandomSentenceSpout.class SplitSentence.class WordCount.class WordCountTopology.class
    • 以上4个文件用于制作storm.jar文件

然后,我尝试了

storm jar ./storm.jar com.microsoft.example.WordCountTopology WordCountTopology

storm jar ./storm.jar WordCountTopology

,但是这两个都失败了,说:

错误:无法找到或加载主类 com.microsoft.example.WordCountTopology

错误:无法找到或加载主类 WordCountTopology

根据document,它说

语法:storm jar topology-jar-path class ...

使用指定的参数运行类的主要方法。风暴 ~/.storm 中的 jars 和配置文件放在类路径中。过程是 配置为 StormSubmitter 将上传 jar 到 拓扑提交时的topology-jar-path。

我找不到修复的地方。

我该如何解决这个问题?

【问题讨论】:

    标签: apache-storm


    【解决方案1】:

    我认为您的 jar 文件不包含 WordCountTopology 类。你可以通过jar tf storm.jar | grep WordCountTopology查看。

    【讨论】:

      【解决方案2】:

      看起来您的 jar 不包含保存有关主类信息的清单文件。

      尝试包含 Manifest 文件,或者您可以运行以下 java 命令来包含 Manifest 文件

      希望这行得通!

      jar cvfe storm.jar mainClassNameWithoutDotClassExtn *.class

      【讨论】:

        猜你喜欢
        • 2018-04-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-06-25
        • 2013-03-24
        • 1970-01-01
        相关资源
        最近更新 更多