风暴工人没有开始 [英] Storm workers not starting

查看:23
本文介绍了风暴工人没有开始的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的 Nimbus 主机和主管运行正常.当我向 Nimbus 主机提交 wordcount 拓扑时,它成功上传.上传拓扑管理器后报错

kill:没有这个进程

当我检查 worker-6001.log6002.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 替换

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

根据 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

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


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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆