twitter storm学习 - 安装部署问题汇总
2014-07-31 15:57
344 查看
已经碰到的或者将来碰到的关于安装部署方面的问题以及解决方法,先挖个坑
1.提交的topology在admin界面上看emitted始终都是0,查看日志发现有如下错误:
worker [ERROR] Error on initialization of server mk-worker
org.zeromq.ZMQException: 无效的参数(0x16)
at org.zeromq.ZMQ$Socket.setLongSockopt(Native Method)
at org.zeromq.ZMQ$Socket.setLinger(ZMQ.java:601)
at zilch.mq$set_linger.invoke(mq.clj:57)
at backtype.storm.messaging.zmq.ZMQContext.connect(zmq.clj:62)
at backtype.storm.daemon.worker$mk_refresh_connections$this__4293$iter__4300__4304$fn__4305.invoke(worker.clj:244)
at clojure.lang.LazySeq.sval(LazySeq.java:42)
at clojure.lang.LazySeq.seq(LazySeq.java:60)
at clojure.lang.RT.seq(RT.java:473)
at clojure.core$seq.invoke(core.clj:133)
at clojure.core$dorun.invoke(core.clj:2725)
at clojure.core$doall.invoke(core.clj:2741)
at backtype.storm.daemon.worker$mk_refresh_connections$this__4293.invoke(worker.clj:238)
at...
我的zeromq版本是3.X ,查资料后看到有说法可能是zeromq的版本问题,按照建议下载2.7.1版本,并重新安装zeromq以及jzmq,重启nimbus和supervisor节点,重新commit测试的topology,执行成功,日志也没有错误了。
2. 安装并编译zeromq出错:
make报错:cannot link with -luuid, install uuid-dev.
原来是缺少库,尝试yum install uuid-dev,找不到这个库
bing了一下,原来uuid-dev在不同的平台上名字不同,我用的centos上名字为libuuid-devel
执行yum install libuuid-devel ...
下载并安装成功!
3. 在eclipse中编译storm-starter示例代码出错:
import backtype.storm.task.IMetricsContext 找不到.
自己判断是引用的storm.jar版本问题,把我引用的0.8.1版本的jar包换成0.7的,结果错误更多,一查发现搞反了,应该用更新的jar包,于是下载0.8.2版本的编译,错误消除!
4. drpc示例代码调用错误
像服务器上部署了storm-starter的BasicDRPCTopology,
使用客户端代码尝试连接drpc server发送参数并获取结果
DRPCClient client= new DRPCClient("192.168.72.203",3772);
String result = client.execute("basicdprc","goodbye");
System.out.println(result);
192.168.72.203是我在服务端配置的drpc服务器的ip
代码执行到execute以后停住,很长时间都无法执行,到服务端查看drpc.log日志,有如下错误:
TNonblockingServer [WARN] Got an IOException in internalRead!
java.io.IOException: Connection reset by peer
at sun.nio.ch.FileDispatcherImpl.read0(Native Method)
at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:39)
at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:218)
at sun.nio.ch.IOUtil.read(IOUtil.java:191)
at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:359)
at org.apache.thrift7.transport.TNonblockingSocket.read(TNonblockingSocket.java:141)
at org.apache.thrift7.server.TNonblockingServer$FrameBuffer.internalRead(TNonblockingServer.java:669)
at org.apache.thrift7.server.TNonblockingServer$FrameBuffer.read(TNonblockingServer.java:458)
at org.apache.thrift7.server.TNonblockingServer$SelectThread.handleRead(TNonblockingServer.java:359)
at org.apache.thrift7.server.TNonblockingServer$SelectThread.select(TNonblockingServer.java:304)
at org.apache.thrift7.server.TNonblockingServer$SelectThread.run(TNonblockingServer.java:243)
折腾了一天多,最终解决了这个诡异的问题,错误原因出奇的简单:
BasicDRPCTopology代码中声明new LinearDRPCTopologyBuilder("exclamation");
指定了topology的name为exclamation
而我在手动使用./storm jar...参数提交的时候指定的名字是basicdprc,提交topology的时候是正常的,在storm
ui管理界面里看到此topology的名字也是basicdprc,但是DRPCClient调用execute的时候却必须使用代码中指定的名称... 改成 client.execute("exclamation","goodbye");就可以顺利调用了。
神那,怎么会这样!!!既然允许参数指定提交的topology名称,那drpcclient也应该允许使用此名称啊!!这种限制简直要让人撞墙!!
5. storm.yaml配置文件格式错误:
yaml配置文件的格式要求比较变态:
配置键值对 的时候,冒号后面需要有一个空格,不能直接跟值,否则解析的时候会报错:
例如 storm.zookeeper.port: 2183 2183和冒号间就需要有一空格
另外行的开头前面也需要有空格...
1.提交的topology在admin界面上看emitted始终都是0,查看日志发现有如下错误:
worker [ERROR] Error on initialization of server mk-worker
org.zeromq.ZMQException: 无效的参数(0x16)
at org.zeromq.ZMQ$Socket.setLongSockopt(Native Method)
at org.zeromq.ZMQ$Socket.setLinger(ZMQ.java:601)
at zilch.mq$set_linger.invoke(mq.clj:57)
at backtype.storm.messaging.zmq.ZMQContext.connect(zmq.clj:62)
at backtype.storm.daemon.worker$mk_refresh_connections$this__4293$iter__4300__4304$fn__4305.invoke(worker.clj:244)
at clojure.lang.LazySeq.sval(LazySeq.java:42)
at clojure.lang.LazySeq.seq(LazySeq.java:60)
at clojure.lang.RT.seq(RT.java:473)
at clojure.core$seq.invoke(core.clj:133)
at clojure.core$dorun.invoke(core.clj:2725)
at clojure.core$doall.invoke(core.clj:2741)
at backtype.storm.daemon.worker$mk_refresh_connections$this__4293.invoke(worker.clj:238)
at...
我的zeromq版本是3.X ,查资料后看到有说法可能是zeromq的版本问题,按照建议下载2.7.1版本,并重新安装zeromq以及jzmq,重启nimbus和supervisor节点,重新commit测试的topology,执行成功,日志也没有错误了。
2. 安装并编译zeromq出错:
make报错:cannot link with -luuid, install uuid-dev.
原来是缺少库,尝试yum install uuid-dev,找不到这个库
bing了一下,原来uuid-dev在不同的平台上名字不同,我用的centos上名字为libuuid-devel
执行yum install libuuid-devel ...
下载并安装成功!
3. 在eclipse中编译storm-starter示例代码出错:
import backtype.storm.task.IMetricsContext 找不到.
自己判断是引用的storm.jar版本问题,把我引用的0.8.1版本的jar包换成0.7的,结果错误更多,一查发现搞反了,应该用更新的jar包,于是下载0.8.2版本的编译,错误消除!
4. drpc示例代码调用错误
像服务器上部署了storm-starter的BasicDRPCTopology,
使用客户端代码尝试连接drpc server发送参数并获取结果
DRPCClient client= new DRPCClient("192.168.72.203",3772);
String result = client.execute("basicdprc","goodbye");
System.out.println(result);
192.168.72.203是我在服务端配置的drpc服务器的ip
代码执行到execute以后停住,很长时间都无法执行,到服务端查看drpc.log日志,有如下错误:
TNonblockingServer [WARN] Got an IOException in internalRead!
java.io.IOException: Connection reset by peer
at sun.nio.ch.FileDispatcherImpl.read0(Native Method)
at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:39)
at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:218)
at sun.nio.ch.IOUtil.read(IOUtil.java:191)
at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:359)
at org.apache.thrift7.transport.TNonblockingSocket.read(TNonblockingSocket.java:141)
at org.apache.thrift7.server.TNonblockingServer$FrameBuffer.internalRead(TNonblockingServer.java:669)
at org.apache.thrift7.server.TNonblockingServer$FrameBuffer.read(TNonblockingServer.java:458)
at org.apache.thrift7.server.TNonblockingServer$SelectThread.handleRead(TNonblockingServer.java:359)
at org.apache.thrift7.server.TNonblockingServer$SelectThread.select(TNonblockingServer.java:304)
at org.apache.thrift7.server.TNonblockingServer$SelectThread.run(TNonblockingServer.java:243)
折腾了一天多,最终解决了这个诡异的问题,错误原因出奇的简单:
BasicDRPCTopology代码中声明new LinearDRPCTopologyBuilder("exclamation");
指定了topology的name为exclamation
而我在手动使用./storm jar...参数提交的时候指定的名字是basicdprc,提交topology的时候是正常的,在storm
ui管理界面里看到此topology的名字也是basicdprc,但是DRPCClient调用execute的时候却必须使用代码中指定的名称... 改成 client.execute("exclamation","goodbye");就可以顺利调用了。
神那,怎么会这样!!!既然允许参数指定提交的topology名称,那drpcclient也应该允许使用此名称啊!!这种限制简直要让人撞墙!!
5. storm.yaml配置文件格式错误:
yaml配置文件的格式要求比较变态:
配置键值对 的时候,冒号后面需要有一个空格,不能直接跟值,否则解析的时候会报错:
例如 storm.zookeeper.port: 2183 2183和冒号间就需要有一空格
另外行的开头前面也需要有空格...
相关文章推荐
- Maven学习总结(39)——Maven私服的搭建及使用deploy命令部署构建问题汇总
- Elasticsearch学习之ElasticSearch 5.0.0 安装部署常见错误或问题
- Expression Studio和Silverlight学习资源、安装问题汇总
- ASP.NET 3.5 Extensions、Expression Studio和Silverlight、IE 8 Preview 发布及学习资源、安装问题汇总
- [导入]ASP.NET 3.5 Extensions、Expression Studio和Silverlight、IE 8 Preview 发布及学习资源、安装问题汇总
- 部署OpenStack问题汇总(一)--使用packstack安装openstack:源问题的处理
- ASP.NET 3.5 Extensions、Expression Studio和Silverlight、IE 8 Preview 发布及学习资源、安装问题汇总
- Expression Studio和Silverlight学习资源、安装问题汇总
- ASP.NET 3.5 Extensions、Expression Studio和Silverlight、IE 8 Preview 发布及学习资源、安装问题汇总
- ELK学习10_ELK系列--实时日志分析系统ELK 部署与运行中的问题汇总
- ELK学习10_ELK系列--实时日志分析系统ELK 部署与运行中的问题汇总
- SSIS 学习(9):包部署常见问题汇总【转】
- ASP.NET 3.5 Extensions、Expression Studio和Silverlight、IE 8 Preview 发布及学习资源、安装问题汇总
- C#学习笔记(二十):Windows应用程序安装部署概念
- supesite 6.0/x-space 4.0 安装问题汇总
- 求助weblucene的安装部署问题
- 在安装有VS2008beta2版本的机子上使用vs2005进行部署出现问题的解决方法
- Hadoop学习笔记二 安装部署
- 解决.NET(WebApplication)安装部署的不能选择安装路径的问题
- 学习动态网页PHP技术常见问题汇总解答