【问题标题】:Workers not starting in Storm (backtype.storm.daemon.worker class not found)没有在 Storm 中启动的工人(找不到 backtype.storm.daemon.worker 类)
【发布时间】:2015-10-20 00:59:45
【问题描述】:

我是 Storm 的新手,我使用 HDP Storm-on-Yarn 页面上的说明和 anfeng 的storm-yarn git 项目中的storm-yarn-master 在HDP 集群上设置了Storm-on-Yarn .

我能够让 Nimbus 运行,甚至可以提交拓扑并在 Storm UI 上看到它们。但是,spouts 和 bolts 似乎没有“工作”(发出的元组计数为 0)。

我进行了一些挖掘,并意识到我的工人守护进程没有启动。主管日志吐出这些:

2014-03-13 11:22:03 b.s.d.supervisor [INFO] 18bf93a1-1cea-4e99-93da-8f36a4e9c056 still hasn't started

我尝试从 supverviser 日志中的“Launching worker with command”行启动 worker 命令,但出现此错误:

Exception in thread "main" java.lang.NoClassDefFoundError: backtype/storm/daemon/worker
Caused by: java.lang.ClassNotFoundException: backtype.storm.daemon.worker
        at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:247)

Could not find the main class: backtype.storm.daemon.worker.  Program will exit.

虽然它存在于 Storm-core jar 中,但似乎找不到工人类。

关于如何继续解决此问题的任何想法?我附上了雨云和主管日志。工作人员日志似乎尚未创建。

Nimbus 日志 - http://paste.ubuntu.com/7089418/ 主管日志 - http://paste.ubuntu.com/7089422/

Hadoop 版本 - 2.2 风暴版本 - 0.9.0-wip21

【问题讨论】:

    标签: bigdata hortonworks-data-platform apache-storm


    【解决方案1】:

    当我创建的 JAR 文件没有排除风暴二进制文件时,我遇到了这样的问题。即在 pom.xml 文件中,确保您设置了storm-core依赖项:

    <scope>provided</scope>

    同样,我遇到了在storm lib文件夹中安装了多个版本的netty的问题(​​不得不删除旧版本的JAR)。这也导致 NoClassDefFoundErrors 被抛出(尽管与您遇到的不同)。

    我建议查看提交拓扑时显示的类路径(您可以通过执行 ps -Af | grep Storm 来做到这一点)

    【讨论】:

      猜你喜欢
      • 2015-08-15
      • 1970-01-01
      • 1970-01-01
      • 2019-02-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-07
      • 2014-10-02
      相关资源
      最近更新 更多