2019独角兽企业重金招聘Python工程师标准>>>

已经碰到的或者将来碰到的关于安装部署方面的问题以及解决方法,先挖个坑

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和冒号间就需要有一空格

另外行的开头前面也需要有空格...

转载于:https://my.oschina.net/u/221218/blog/145288

twitter storm学习 - 安装部署问题汇总相关推荐

  1. 【Storm】Storm简介及Storm集群的安装部署

    1.Storm概述 (1)Storm简介 Storm最早是由BackType公司开发的实时处理系统,底层由Clojure实现.Clojure也是一门基于JVM的高级面向函数式的编程语言.2011年Tw ...

  2. Storm集群安装部署步骤【详细版】

    作者: 大圆那些事 | 文章可以转载,请以超链接形式标明文章原始出处和作者信息 网址: http://www.cnblogs.com/panfeng412/archive/2012/11/30/how ...

  3. Twitter Storm安装配置(Ubuntu系统)单机版

    要使用storm首先要安装以下工具:JDK.Python.zookeeper.zeromq.jzmq.storm (注:各个模块都是独立的,如果安装失败或者卡顿可以单独百度某个模块的安装,都是可以的. ...

  4. Storm入门教程 Storm安装部署步骤

    本文以Twitter Storm官方Wiki为基础,详细描述如何快速搭建一个Storm集群,其中,项目实践中遇到的问题及经验总结,在相应章节以"注意事项"的形式给出. 3.1 St ...

  5. Greenplum学习实践-【安装部署】-2、 5.10集群部署

    Greenplum学习实践-[安装部署]-2. 5.10集群部署 第 1 章** 环境说明 1.1 官方文档 Greenplum官方安装说明: https://gpdb.docs.pivotal.io ...

  6. Storm介绍及安装部署

    本节内容: Apache Storm是什么 Apache Storm核心概念 Storm原理架构 Storm集群安装部署 启动storm ui.Nimbus和Supervisor 一.Apache S ...

  7. Storm 04_Storm单机模式搭建完全分布式安装部署集群drpc

    一.环境要求 JDK 1.6+ java -version Python 2.6.6+ python -V ZooKeeper3.4.5+ storm 0.9.4+ ----------------- ...

  8. Storm教程2安装部署

    Storm 安装部署 部署Storm集群需要依次完成的安装步骤:         1.安装jdk6及以上版本; 2. 搭建Zookeeper集群: 3. 安装Storm依赖库: 4. 下载并解压Sto ...

  9. Kubernetes的学习笔记总结之k8s集群安装部署

    kubernets 集群安装部署. 安装 Docker 所有节点都需要安装 Docker. apt-get update && apt-get install docker.io 安装 ...

最新文章

  1. Android中dip、dp、sp、pt和px的区别
  2. final 140字评论II
  3. 接口是否可继承接口? 抽像类是否可实现(implements)接口? 抽像类是否可继承实体类(concrete class)?...
  4. VS Code 的常用快捷键和插件
  5. (转载)VS2010/MFC编程入门之一(VS2010与MSDN安装过程图解)
  6. mysql输入命令1002无标题_Linux下远程连接MySQL数据库的方法
  7. 《从零开始学Swift》学习笔记(Day 20)——函数中参数的传递引用
  8. io流图解 java_详细讲解JAVA中的IO流
  9. dnf机械机器人补丁_干货 | 详解工业机器人控制系统架构
  10. Linux 挂载windows网络共享文件 /etc/fstab功能详解
  11. Hibernate 添加数据 一 (一对多)
  12. Linux内存管理:内存描述之内存页面page
  13. 五步法”判断自媒体创作好与坏的标准
  14. Activity之间的跳转和四种启动模式
  15. 晶振时钟原理图、PCB设计指南
  16. linux文本编辑器下载,Linux文本编辑器Jed
  17. 高中信息技术:网络基础知识(IP地址、网页设计)、多媒体技术(图像PS、音频、视频、动画)
  18. web前端的初学一周
  19. 在SVN安装目录的bin文件夹下没有找到svn.exe
  20. Codeforces Round #363 (Div. 2) B. One Bomb (水题)

热门文章

  1. Win64 驱动内核编程-3.内核里使用内存
  2. C语言-动态创建二维数组
  3. 【错误记录】Groovy 注入方法报错 ( Cannot add new method [hello] for arguments [[]]. It already exists )
  4. 【Android应用开发】EasyDialog 源码解析
  5. 并发编程中的GIL锁(全局解释器锁)自己理解的他为啥存在
  6. socket_循环发送消息
  7. cosbench 安装
  8. MySQL与SQLServer的区别(一千条语句)
  9. cf D. Powerful array 莫队算法
  10. 【ASP.NET MVC 学习笔记】- 16 Model Binding(模型绑定)