【问题标题】:Apache storm can not find main class of storm starterApache Storm 找不到 Storm 启动器的主类
【发布时间】:2015-08-15 09:33:56
【问题描述】:

我正在设置 Apache Storm 系统,但在让程序持续运行时遇到问题。我已经在三台服务器上设置了storm,但它只能在一台服务器上始终如一地工作。我认为问题出在命令路径的某个地方。

我一直在使用storm-starter 来设置程序,并在本地使用RollingTopWords 对其进行了测试。当我运行以下命令 $ storm jar storm-starter-*.jar storm.starter.RollingTopWords 时,计算机会停顿一秒钟,然后出现以下错误:

无法找到或加载主类storm.starter.RollingTopWords

jar 存储在目录 /apache/storm/examples/storm-starter/target 中。让我知道是否有任何其他可以提供帮助的信息,因为此时我感到有点绝望。

以下是无法运行的程序的完整输出。

运行:/usr/lib/jvm/java-1.7.0-openjdk-amd64/bin/java -client -Dstorm.options= -Dstorm.home=/home/scix3/apache/storm -Dstorm.log。 dir=/home/scix3/apache/storm/logs -Djava.library.path=/usr/local/lib:/opt/local/lib:/usr/lib -Dstorm.conf.file= -cp /home/scix3 /apache/storm/lib/kryo-2.21.jar:/home/scix3/apache/storm/lib/core.incubator-0.1.0.jar:/home/scix3/apache/storm/lib/commons-fileupload-1.2 .1.jar:/home/scix3/apache/storm/lib/ring-servlet-0.3.11.jar:/home/scix3/apache/storm/lib/clj-stacktrace-0.2.2.jar:/home/ scix3/apache/storm/lib/jline-2.11.jar:/home/scix3/apache/storm/lib/servlet-api-2.5.jar:/home/scix3/apache/storm/lib/disruptor-2.10.1。 jar:/home/scix3/apache/storm/lib/log4j-over-slf4j-1.6.6.jar:/home/scix3/apache/storm/lib/clojure-1.5.1.jar:/home/scix3/apache /storm/lib/commons-exec-1.1.jar:/home/scix3/apache/storm/lib/logback-core-1.0.13.jar:/home/scix3/apache/storm/lib/jetty-util-6.1 .26.jar:/home/scix3/apache/storm/lib/slf4j-api-1.7.5.jar:/home/scix3/apache/storm/lib/carbonite- 1.4.0.jar:/home/scix3/apache/storm/lib/compojure-1.1.3.jar:/home/scix3/apache/storm/lib/minlog-1.2.jar:/home/scix3/apache/storm /lib/commons-lang-2.5.jar:/home/scix3/apache/storm/lib/tools.macro-0.1.0.jar:/home/scix3/apache/storm/lib/reflectasm-1.07-shaded.jar :/home/scix3/apache/storm/lib/tools.cli-0.2.4.jar:/home/scix3/apache/storm/lib/math.numeric-tower-0.0.1.jar:/home/scix3/ apache/storm/lib/logback-classic-1.0.13.jar:/home/scix3/apache/storm/lib/tools.logging-0.2.3.jar:/home/scix3/apache/storm/lib/asm- 4.0.jar:/home/scix3/apache/storm/lib/jetty-6.1.26.jar:/home/scix3/apache/storm/lib/snakeyaml-1.11.jar:/home/scix3/apache/storm/lib /hiccup-0.3.6.jar:/home/scix3/apache/storm/lib/clj-time-0.4.1.jar:/home/scix3/apache/storm/lib/jgrapht-core-0.9.0.jar :/home/scix3/apache/storm/lib/clout-1.0.1.jar:/home/scix3/apache/storm/lib/chill-java-0.3.5.jar:/home/scix3/apache/storm/ lib/commons-io-2.4.jar:/home/scix3/apache/storm/lib/joda-time-2.0.jar:/home/scix3/apache/storm/lib/storm-core-0.9.4.jar: /ho我/scix3/apache/storm/lib/objenesis-1.2.jar:/home/scix3/apache/storm/lib/commons-logging-1.1.3.jar:/home/scix3/apache/storm/lib/ring- core-1.1.5.jar:/home/scix3/apache/storm/lib/ring-jetty-adapter-0.3.11.jar:/home/scix3/apache/storm/lib/commons-codec-1.6.jar: /home/scix3/apache/storm/lib/json-simple-1.1.jar:/home/scix3/apache/storm/lib/ring-devel-0.3.11.jar:storm-starter-.jar: /home/scix3/apache/storm/conf:/home/scix3/apache/storm/bin -Dstorm.jar=storm-starter-.jarstorm.starter.RollingTopWords 错误:无法找到或加载主类storm.starter.RollingTopWords

【问题讨论】:

  • 有很多事情可能会出错。首先,“我在三台服务器上设置了storm”是什么意思?你有一个灵气和两个主管吗?你只是安装了三台安装了storm的服务器吗?
  • 假设你已经运行maven package,你从哪里运行“storm”命令?
  • 我已经将风暴命令集作为 JAVA_HOME 的一部分,所以我已经从很多地方运行它。我在三台计算机上安装了storm,并试图在连接它们之前让它们都在本地工作。但是,我已经配置了一些 yaml 文件,以便它们可以连接。同样,我在每个系统上都运行了storm nimbus 和storm supervisor。系统是否有可能因为我在它们上运行 nimbus 和 supervisor 而感到困惑?确实,我有 Maven 包。
  • 您试图从哪个目录运行storm 命令?此外,此时,您不需要运行 nimbus 或 supervisor 进程,因为这些对于简单地在本地模式下运行并不重要。
  • 我已经从很多地方运行了storm命令。大部分是 home、apache、storm、examples 和 target 目录。在我工作的系统上,我可以在计算机上的任何地方运行storm,因为我设置了路径。

标签: java apache-storm


【解决方案1】:

主要问题为错误
Could not find or load main class storm.starter.RollingTopWordscloud be.

  1. 在构建 jar 时检查launch configuration。 构建jar时必须非常小心,它要求您选择目标文件夹并启动配置(启动配置应该是同一个项目)
  2. 您可能在项目中错过了main class

在远程集群中使用Stormsubmitter 之前,请检查一下它是否正常工作localcluster

【讨论】:

    【解决方案2】:

    要检查问题是否是storm找不到jar,你可以尝试发出

    storm jar /fullpath/my-storm-jar.jar Classname
    

    您可以确定的其他几件事

    1. jar 编译正确/jar 包含 RollingTopWords 类
    2. storm.yaml 指向正确的 nimub(这似乎不太可能,因为正在建立连接并且正在尝试加载拓扑)

    【讨论】:

      猜你喜欢
      • 2018-04-10
      • 1970-01-01
      • 1970-01-01
      • 2016-12-01
      • 2019-02-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-22
      相关资源
      最近更新 更多