我是Storm的新手,我使用HDP Storm-on-Yarn页面上的说明和来自anfeng风暴的风暴纱线大师在HDP群集上设置了Storm-on-Yarn -yarn git project。
我能够让Nimbus运行甚至提交拓扑并在Storm UI上看到它们。然而,喷口和螺栓似乎没有“工作”(发出0个元组的数量)。
我做了一些挖掘并意识到我的工作人员守护程序没有启动。主管日志吐出这些:
2014-03-13 11:22:03 b.s.d.supervisor [INFO] 18bf93a1-1cea-4e99-93da-8f36a4e9c056 still hasn't started
我尝试从supverviser日志中的“使用命令启动worker”行启动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 Log - http://paste.ubuntu.com/7089418/ 主管日志 - http://paste.ubuntu.com/7089422/
Hadoop版本 - 2.2 风暴版 - 0.9.0-wip21
答案 0 :(得分:0)
当我创建的JAR文件未排除风暴二进制文件时,我遇到了类似这样的问题。即在pom.xml文件中,确保将storm-core依赖项设置为:
<scope>provided</scope>
&#13;
同样,我遇到了在风暴lib文件夹中安装了多个版本的netty的问题(必须删除旧版本的JAR)。这也导致抛出NoClassDefFoundErrors(尽管与您遇到的不同)。
我建议你查看提交topolgies时显示的类路径(你可以通过 ps -Af | grep storm 来实现)