Apache Storm - 无法找到或加载主类org.apache.storm.starter.ExclamationTopology

时间:2017-10-28 16:12:24

标签: java maven apache-storm

我对maven和storm真的很陌生,所以我试图按照https://github.com/apache/storm/tree/master/examples/storm-starter中的说明操作。我目前的路径是/ home / luc / theTest / storm / examples / storm-starter。在目标文件夹中有一个storm-starter-2.0.0-SNAPSHOT.jar文件。我跑步时卡住了

  

storm jar target / storm-starter - * .jar org.apache.storm.starter.ExclamationTopology -local

我收到此错误

ionTopology -local 运行:/ usr / lib / jvm / java-8-openjdk-amd64 / bin / java -client -Ddaemon.name = -Dstorm.options = -Dstorm.home = / home / luc / stormTest / apache-storm-1.1。 1 -Dstorm.log.dir = / home / luc / stormTest / apache-storm-1.1.1 / logs -Djava.library.path = / usr / local / lib:/ opt / local / lib:/ usr / lib - Dstorm.conf.file = -cp /home/luc/stormTest/apache-storm-1.1.1/lib/servlet-api-2.5.jar:/home/luc/stormTest/apache-storm-1.1.1/lib/ SLF4J-API 1.7.21.jar:/home/luc/stormTest/apache-storm-1.1.1/lib/objenesis-2.1.jar:/home/luc/stormTest/apache-storm-1.1.1/lib/ KRYO-3.0.3.jar:/home/luc/stormTest/apache-storm-1.1.1/lib/log4j-core-2.8.2.jar:/home/luc/stormTest/apache-storm-1.1.1/ LIB / log4j的环比SLF4J-1.6.6.jar:/home/luc/stormTest/apache-storm-1.1.1/lib/storm-core-1.1.1.jar:/家庭/ LUC / stormTest / apache-风暴-1.1.1 / lib目录/ log4j的-SLF4J-IMPL-2.8.2.jar:/home/luc/stormTest/apache-storm-1.1.1/lib/minlog-1.3.0.jar:/家庭/ LUC / stormTest / Apache的风暴1.1.1 / lib目录/ log4j的-API-2.8.2.jar:/home/luc/stormTest/apache-storm-1.1.1/lib/clojure-1.7.0.jar:/首页/ LUC / stormT EST / Apache的风暴1.1.1 / lib目录/环-CORS-0.1.5.jar:/home/luc/stormTest/apache-storm-1.1.1/lib/asm-5.0.3.jar:/首页/ LUC / stormTest / Apache的风暴1.1.1 / lib目录/ reflectasm-1.10.1.jar:/home/luc/stormTest/apache-storm-1.1.1/lib/disruptor-3.3.2.jar:/首页/ LUC / stormTest / Apache的风暴1.1.1 / lib目录/风暴命名,劈1.1.1.jar:目标/风暴启动-2.0.0-SNAPSHOT.jar:/家庭/ LUC / stormTest / Apache的风暴-1.1.1 / conf:/home/luc/stormTest/apache-storm-1.1.1/bin -Dstorm.jar = target / storm-starter-2.0.0-SNAPSHOT.jar -Dstorm.dependency.jars = -Dstorm .dependency.artifacts = {} org.apache.storm.starter.ExclamationTopology -local 错误:无法找到或加载主类org.apache.storm.starter.ExclamationTopology

我做错了吗?对于我是否必须先运行nimbus和supervisor,我也有点困惑。无论如何,我都尝试过,无论如何都没有。一直在搜索网络但没有任何作用。不知道还有什么可以尝试。

1 个答案:

答案 0 :(得分:1)

这通常是由storm-client和storm-starter的版本不一致造成的。请尝试按照以下步骤使示例正常工作。

  1. http://storm.apache.org/downloads.html

    下载最新版本
    • 在本例中,我们将使用版本1.1.1
  2. 将其解压缩到一个文件夹,我们称之为${STORM_HOME}

  3. cd进入${STORM_HOME}/examples/storm-starter

  4. 执行mvn package -DskipTests=true

    • 这应该在目标文件夹中构建风暴启动器jar ${STORM_HOME}/examples/storm-starter/target/storm-starter-1.1.1.jar
  5. ${STORM_HOME}目录运行示例:
    ./bin/storm jar examples/storm-starter/target/storm-starter-1.1.1.jar org.apache.storm.starter.ExclamationTopology

  6. 不要添加-local标记,因为如果没有args传递,ExclamationTopology似乎只部署在LocalCluster中。您可以在此处查看源代码:
    ${STORM_HOME}/examples/storm-starter/src/jvm/org/apache/storm/starter/ExclamationTopology.java