【问题标题】:Apache Storm - Could not find or load main class org.apache.storm.starter.ExclamationTopologyApache Storm - 无法找到或加载主类 org.apache.storm.starter.ExclamationTopology
【发布时间】:2018-04-10 01:09:07
【问题描述】:

我对 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 目标/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-over-slf4j-1.6.6.jar:/home/luc/stormTest/apache-storm-1.1.1/lib/storm-core-1.1.1.jar:/home/luc/stormTest/apache- storm-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:/home/luc/ stormTest/apache-storm-1.1.1/lib/log4j-api-2.8.2.jar:/home/luc/stormTest/apache-storm-1.1.1/lib/clojure-1.7.0.jar:/home/卢克/风暴T est/apache-storm-1.1.1/lib/ring-cors-0.1.5.jar:/home/luc/stormTest/apache-storm-1.1.1/lib/asm-5.0.3.jar:/home/ luc/stormTest/apache-storm-1.1.1/lib/reflectasm-1.10.1.jar:/home/luc/stormTest/apache-storm-1.1.1/lib/disruptor-3.3.2.jar:/home/ luc/stormTest/apache-storm-1.1.1/lib/storm-rename-hack-1.1.1.jar:target/storm-starter-2.0.0-SNAPSHOT.jar:/home/luc/stormTest/apache-storm -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 也有点困惑。我尝试了有和没有它们,但无论如何都没有工作。一直在网上搜索,但没有任何效果。不知道还能尝试什么。

【问题讨论】:

  • 根据你的日志,你的storm-client是1.1.1版本,你的starter是2.0.0-SNAPSHOT.

标签: java maven apache-storm


【解决方案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

    • 这应该在目标文件夹中构建storm-starter 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

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

【讨论】:

  • 泰!我花了 4 天时间试图弄清楚这一点。是的,我先下载了storm,设置了它,然后就忘记了。然后我克隆了 github 来做教程。我觉得很愚蠢哈哈。试图投票但没有足够的声誉。泰!
  • @luc 不用担心,如果您能接受我的回答,将不胜感激。 :)
  • 是否应该在github.com/apache/storm/tree/v2.1.0/examples/storm-starter 更新构建说明?在我看来,那里概述的步骤将导致使用源代码而不是发布版本运行storm jar 命令。这总是失败,The storm client can only be run from within a release.
猜你喜欢
  • 2016-12-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-15
  • 2019-01-05
相关资源
最近更新 更多