风暴工人没有开始 [英] Storm workers not starting
问题描述
我的 Nimbus 主机和主管运行正常.当我向 Nimbus 主机提交 wordcount 拓扑时,它成功上传.上传拓扑管理器后报错
kill:没有这个进程
当我检查 worker-6001.log
和 6002.log
时,我发现了以下错误:
2014-02-09 17:20:05 b.s.m.TransportFactory [INFO] Storm peer 传输插件:backtype.storm.messaging.zmq2014-02-09 17:20:05 b.s.d.worker [ERROR] 服务器 mk-worker 初始化错误java.lang.UnsatisfiedLinkError: java.library.path 中没有 jzmq在 java.lang.ClassLoader.loadLibrary(ClassLoader.java:1886) ~[na:1.7.0_51]在 java.lang.Runtime.loadLibrary0(Runtime.java:849) ~[na:1.7.0_51]在 java.lang.System.loadLibrary(System.java:1088) ~[na:1.7.0_51]在 org.zeromq.ZMQ.(ZMQ.java:34) ~[jzmq-2.1.0.jar:na]在 java.lang.Class.forName0(Native Method) ~[na:1.7.0_51]在 java.lang.Class.forName(Class.java:190) ~[na:1.7.0_51]在 backtype.storm.messaging.zmq$loading__4784__auto__.invoke(zmq.clj:1) ~[storm-core-0.9.0.1.jar:na]在 backtype.storm.messaging.zmq__init.load(Unknown Source) ~[storm-core-0.9.0.1.jar:na]在 backtype.storm.messaging.zmq__init.<clinit>(来源不明)~[storm-core-0.9.0.1.jar:na]在 java.lang.Class.forName0(Native Method) ~[na:1.7.0_51]在 java.lang.Class.forName(Class.java:270) ~[na:1.7.0_51]在 clojure.lang.RT.loadClassForName(RT.java:2056) ~[clojure-1.4.0.jar:na]在 clojure.lang.RT.load(RT.java:419) ~[clojure-1.4.0.jar:na]在 clojure.lang.RT.load(RT.java:400) ~[clojure-1.4.0.jar:na]在 clojure.core$load$fn__4890.invoke(core.clj:5415) ~[clojure-1.4.0.jar:na]在 clojure.core$load.doInvoke(core.clj:5414) ~[clojure-1.4.0.jar:na]在 clojure.lang.RestFn.invoke(RestFn.java:408) [clojure-1.4.0.jar:na]在 clojure.lang.Var.invoke(Var.java:415) ~[clojure-1.4.0.jar:na]在 backtype.storm.messaging.zmq.(来源不明)~[storm-core-0.9.0.1.jar:na]在 java.lang.Class.forName0(Native Method) ~[na:1.7.0_51]在 java.lang.Class.forName(Class.java:190) ~[na:1.7.0_51]在 backtype.storm.messaging.TransportFactory.makeContext(TransportFactory.java:21) ~[storm-core-0.9.0.1.jar:na]在 backtype.storm.daemon.worker$worker_data$fn__5732.invoke(worker.clj:170) ~[storm-core-0.9.0.1.jar:na]在 backtype.storm.util$assoc_apply_self.invoke(util.clj:761) ~[storm-core-0.9.0.1.jar:na]在 backtype.storm.daemon.worker$worker_data.invoke(worker.clj:166) ~[storm-core-0.9.0.1.jar:na]在 backtype.storm.daemon.worker$fn__5882$exec_fn__1229__auto____5883.invoke(worker.clj:338) ~[storm-core-0.9.0.1.jar:na]在 clojure.lang.AFn.applyToHelper(AFn.java:185) [clojure-1.4.0.jar:na]在 clojure.lang.AFn.applyTo(AFn.java:151) [clojure-1.4.0.jar:na]在 clojure.core$apply.invoke(core.clj:601) ~[clojure-1.4.0.jar:na]在 backtype.storm.daemon.worker$fn__5882$mk_worker__5938.doInvoke(worker.clj:329) [storm-core-0.9.0.1.jar:na]在 clojure.lang.RestFn.invoke(RestFn.java:512) [clojure-1.4.0.jar:na]在 backtype.storm.daemon.worker$_main.invoke(worker.clj:439) [storm-core-0.9.0.1.jar:na]在 clojure.lang.AFn.applyToHelper(AFn.java:172) [clojure-1.4.0.jar:na]在 clojure.lang.AFn.applyTo(AFn.java:151) [clojure-1.4.0.jar:na]在 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] 停止进程:(初始化错误")
我的配置是
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: 240supervisor.worker.start.timeout.secs: 240supervisor.worker.timeout.secs: 240supervisor.slots.ports:- 6700- 6701
java 版本
java 版本1.7.0_51"OpenJDK 运行时环境 (IcedTea 2.4.4) (7u51-2.4.4-0ubuntu0.12.04.2)OpenJDK 64 位服务器 VM(构建 24.45-b08,混合模式)
我以这个博客为例.
解决方案取决于您运行的 Storm 版本.
<小时>Storm 0.9.1 今天刚刚发布(2014 年 2 月 22 日):发行说明提到 zeroMQ 依赖项现在默认由 Netty 替换
上个版本的安装说明(我以前在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
根据 Storm 0.9.0 的发布说明,我们现在可以选择 Netty 和 ZeroMQ 进行元组传输,所以理论上你应该可以通过升级到 0.9.0.1 来解决这个问题,而不是安装 zeroMQ 和 jzmq并按照此处所述配置风暴:
(黎明,不允许发布第三个链接,好吧,发行说明在 Storm 博客上,在 Storm 孵化器 apache 网站 ^__^)
--斯文
My Nimbus host and supervisor run properly. When I submit a wordcount topology to the Nimbus host it successfully upload. After uploading topology supervisor giving error
kill: No such process
When I check the worker-6001.log
and 6002.log
I found a following error:
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")
my configuration is
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 version
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)
I used this blog as a example.
The resolution depends on the version of Storm you're running.
[EDIT]
Storm 0.9.1 has just been released today (22nd Feb 2014): release notes mention zeroMQ dependencies are now by default replaced by Netty
The installation instructions of the previous version (I successfully used those for 0.8.2 in the past) are here, they indeed mention zeroMq and jzmq as dependencies:
https://github.com/nathanmarz/storm/wiki/Setting-up-a-Storm-cluster
The installation instructions of 0.9.0.1 are here: they do not mention zeroMQ nor jzmq:
http://storm.incubator.apache.org/documentation/Setting-up-a-Storm-cluster.html
According to the release notes of Storm 0.9.0, we now have the choice between Netty and ZeroMQ for tuple transport, so in theory you should be able to solve this issue by upgrading to 0.9.0.1, not install zeroMQ nor jzmq and configure storm as mentioned here:
(dawn, not allowed to post a 3rd link, ok, the release notes are on the Storm blog, in the Storm incubator apache web site ^__^)
-- Svend
这篇关于风暴工人没有开始的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!