2014-02-09 37 views
1

我的Nimbus主机和主管正常运行。当我向Nimbus主机提交wordcount拓扑时,它会成功上传。上传拓扑上司给错误风暴员工不启动

kill: No such process 

当我检查后,worker-6001.log6002.log我找到了以下错误:

2014-02-09 17:20:05 b.s.m.TransportFactory [INFO] Storm peer transport  plugin:backtype.storm.messaging.zmq 
2014-02-09 17:20:05 b.s.d.worker [ERROR] Error on initialization of server mk-worker 
java.lang.UnsatisfiedLinkError: no jzmq in java.library.path 
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1886) ~[na:1.7.0_51] 
at java.lang.Runtime.loadLibrary0(Runtime.java:849) ~[na:1.7.0_51] 
at java.lang.System.loadLibrary(System.java:1088) ~[na:1.7.0_51] 
at org.zeromq.ZMQ.<clinit>(ZMQ.java:34) ~[jzmq-2.1.0.jar:na] 
at java.lang.Class.forName0(Native Method) ~[na:1.7.0_51] 
at java.lang.Class.forName(Class.java:190) ~[na:1.7.0_51] 
at backtype.storm.messaging.zmq$loading__4784__auto__.invoke(zmq.clj:1) ~[storm-core-0.9.0.1.jar:na] 
at backtype.storm.messaging.zmq__init.load(Unknown Source) ~[storm-core-0.9.0.1.jar:na] 
at backtype.storm.messaging.zmq__init.<clinit>(Unknown Source) ~[storm-core-0.9.0.1.jar:na] 
at java.lang.Class.forName0(Native Method) ~[na:1.7.0_51] 
at java.lang.Class.forName(Class.java:270) ~[na:1.7.0_51] 
at clojure.lang.RT.loadClassForName(RT.java:2056) ~[clojure-1.4.0.jar:na] 
at clojure.lang.RT.load(RT.java:419) ~[clojure-1.4.0.jar:na] 
at clojure.lang.RT.load(RT.java:400) ~[clojure-1.4.0.jar:na] 
at clojure.core$load$fn__4890.invoke(core.clj:5415) ~[clojure-1.4.0.jar:na] 
at clojure.core$load.doInvoke(core.clj:5414) ~[clojure-1.4.0.jar:na] 
at clojure.lang.RestFn.invoke(RestFn.java:408) [clojure-1.4.0.jar:na] 
at clojure.lang.Var.invoke(Var.java:415) ~[clojure-1.4.0.jar:na] 
at backtype.storm.messaging.zmq.<clinit>(Unknown Source) ~[storm-core-0.9.0.1.jar:na] 
at java.lang.Class.forName0(Native Method) ~[na:1.7.0_51] 
at java.lang.Class.forName(Class.java:190) ~[na:1.7.0_51] 
at backtype.storm.messaging.TransportFactory.makeContext(TransportFactory.java:21) ~[storm-core-0.9.0.1.jar:na] 
at backtype.storm.daemon.worker$worker_data$fn__5732.invoke(worker.clj:170) ~[storm-core-0.9.0.1.jar:na] 
at backtype.storm.util$assoc_apply_self.invoke(util.clj:761) ~[storm-core-0.9.0.1.jar:na] 
at backtype.storm.daemon.worker$worker_data.invoke(worker.clj:166) ~[storm-core-0.9.0.1.jar:na] 
at backtype.storm.daemon.worker$fn__5882$exec_fn__1229__auto____5883.invoke(worker.clj:338) ~[storm-core-0.9.0.1.jar:na] 
at clojure.lang.AFn.applyToHelper(AFn.java:185) [clojure-1.4.0.jar:na] 
at clojure.lang.AFn.applyTo(AFn.java:151) [clojure-1.4.0.jar:na] 
at clojure.core$apply.invoke(core.clj:601) ~[clojure-1.4.0.jar:na] 
at backtype.storm.daemon.worker$fn__5882$mk_worker__5938.doInvoke(worker.clj:329)  [storm-core-0.9.0.1.jar:na] 
at clojure.lang.RestFn.invoke(RestFn.java:512) [clojure-1.4.0.jar:na] 
at backtype.storm.daemon.worker$_main.invoke(worker.clj:439) [storm-core-0.9.0.1.jar:na] 
at clojure.lang.AFn.applyToHelper(AFn.java:172) [clojure-1.4.0.jar:na] 
at clojure.lang.AFn.applyTo(AFn.java:151) [clojure-1.4.0.jar:na] 
at backtype.storm.daemon.worker.main(Unknown Source) [storm-core-0.9.0.1.jar:na] 
2014-02-09 17:20:05 b.s.util [INFO] Halting process: ("Error on initialization") 

我的配置是

storm.yaml

storm.zookeeper.servers: 
- "192.168.1.2" 

storm.local.dir: "/usr/local/storm/data" 
java.library.path: "/usr/lib/jvm/java-7-openjdk-amd64/lib" 

nimbus.host: "192.168.1.2" 
nimbus.task.launch.secs: 240 
supervisor.worker.start.timeout.secs: 240 
supervisor.worker.timeout.secs: 240 
supervisor.slots.ports: 
- 6700 
- 6701 

java版本

java version "1.7.0_51" 
OpenJDK Runtime Environment (IcedTea 2.4.4) (7u51-2.4.4-0ubuntu0.12.04.2) 
OpenJDK 64-Bit Server VM (build 24.45-b08, mixed mode) 

我以this blog为例。

回答

5

分辨率取决于您正在运行的风暴的版本。


[编辑]

风暴0.9.1刚刚今日(2014年2月22日):发行说明提到现在zeroMQ依赖默认情况下通过了Netty

https://git-wip-us.apache.org/repos/asf?p=incubator-storm.git;a=blob_plain;f=CHANGELOG.md;hb=254ec135b9a67b1e7bc8e979356274aee2e7d715


取代

的前一版本(我成功地使用那些0.8.2过去)的安装说明在这里,他们的确提zeroMq和jzmq为依赖关系:

https://github.com/nathanmarz/storm/wiki/Setting-up-a-Storm-cluster

的0.9.0.1安装说明在这里:他们不提zeroMQ也不jzmq:

http://storm.incubator.apache.org/documentation/Setting-up-a-Storm-cluster.html

根据风暴0.9.0的发布说明,我们现在有一个元组运输的Netty和ZeroMQ之间的选择,所以从理论上讲,你应该能够解决这个问题通过升级到0.9.0.1,不安装zeroMQ也不jzmq和配置风暴这里提到:

(黎明,不允许发布第三环节,确定后,发行说明都在风暴的博客,在风暴孵化Apache Web站点^ __ ^)

- 斯文

+0

风暴0.9。0发布说明: http://storm.incubator.apache.org/2013/12/08/storm090-released.html – Svend

+0

你能帮我这个http://stackoverflow.com/questions/32612810/exception-after -submitting拓扑?noredirect = 1#comment53179266_32612810 – 2015-09-21 06:12:29

3

显然,jzmq丢失。确保jzmq已在您的所有机器上成功建立。请确保jzmq在java.library.path之下。

顺便提一句,该文件是storm.yaml没有Storm.yaml

检查如何Compiling JZMQ on Ubuntu这个问题。