Twitter Storm集群搭建小结

原文:http://my.oschina.net/BreathL/blog/84165

     最近自己尝试搭建了一下Twitter Storm的集群,参考了很多网友的博客,特别是徐明明的;这里只对自己搭建时的过程和所遇到的问题做一个小总结,方便查阅。

     Storm是Twitter开源的一个实时计算框架,它需要依赖Zookeeper,ZeroMQ;同时还需要你的系统环境中有Java和Python。所以整个搭建步骤如下:

  1. 搭建Zookeeper集群。
  2. 在控制节点机[ Nimbus ]和工作节点机[ Supervisor ]上安装相同的环境(ZeroMQ,JZMQ,Java,Python等)
  3. 在控制节点机[ Nimbus ]和工作节点机Supervisor ]上安装Storm框架
  4. 配置Storm,通过storm.yaml文件
  5. 用命令启动Storm(需要分别启动Nimbus、Supervisor、ui)

Zookeeper集群搭建

     由于系统环境中已经有同事搭建好了Zookeeper的集群,所以我没自己手动实现过,就不做介绍了,直接给出 贱客的一篇博客http://www.oschina.net/question/54100_10242 

依赖环境的部署

     这节主要介绍ZeroMQ,JZMQ的部署(Java和Python的安装就不总结了,网上很多)

     首先是ZeroMQ:Storm所需的版本是 ZeroMQ 2.1.7,你可以通过执行如下命令安装:

1wget http://download.zeromq.org/zeromq-2.1.7.tar.gz
2tar -xzf zeromq-2.1.7.tar.gz
3cd zeromq-2.1.7
4./configure
5make
6sudo makeinstall
      在这各环节,我出现过一次安装失败,以是因为 ./configure会检查它所依赖的软件,系统中缺少uuid,后来安装了,就通过了。 (命令:sudo apt-get install uuid-dev)


     接下来是JZMQ,它是Java绑定的ZeroMQ,再安装之前请保证Java已经安装好了,可以通过执行如下命令安装JZMQ

1git clone https://github.com/nathanmarz/jzmq.git
2cd jzmq
3./autogen.sh
4./configure
5make
6sudo makeinstall
     这个过程中,我遇到 autoconf 安装不全,通过命令(apt-get install autoreconf*)升级后以就通过了,同时./configure时会检查你的JAVA_HOME是否正确,不正确会报错,并提示。


Storm的安装

     从这里 下载Storm的包,并解压到你需要安装的目录下即可。

Storm的配置

     配置主要是通过storm.yaml文件,对系统中各个组件做说明;以下是Storm中必须有的配置及说明:

      1. storm.zookeeper.servers :指定Storm系统所使用的Zookeeper的地址

1storm.zookeeper.servers:
2  - "111.222.333.444"
3  - "555.666.777.888"

     2.  storm.local.dir :Storm 的一些配置文件或架包,或日志存放的地方,注意这个目录下,你一定要保证你有权限生成文件,否则会报错,配置如下:


1storm.local.dir:"/mnt/storm"

     3java.library.path :这是storm所依赖的本地依赖(ZeroMQ和JZMQ)的加载地址, 默认的是:/usr/local/lib:/opt/local/lib:/usr/lib, 大多情况下是对的,所以你应该不用更改这个配置。 

     4. nimbus.host是控制节点的指定,所有工作机都需要知道谁是控制节点,才能从它那拿Jar包

1nimbus.host: "111.222.333.44"
     5.  supervisor.slots.ports : 在工作机上,运行每一个进程,都需要有自己的独立的端口来接受信息,所以这里,你配置了几个端口,就表明你工作机上最多可以有多少个进程。默认是4个,端口可以自己改


1supervisor.slots.ports:
2    - 6700
3    - 6701
4    - 6702
5    - 6703
     最后 如果你还需要了解其他的配置信息可以看 这里 ,同时建议你把  ui.port:也配置下,也许你服务器的8080端口已经配占用,你需要启动ui来查看Storm运行状态


1ui.port: 8080

启动Storm

     通过执行如下命令分别启动Nimbus、Supervisor、ui

1storm nimbus
2storm supervisor
3storm ui
     完成后,你可以通过 “主机ip : 端口号" 来查看Storm运行状态(若你执行了storm ui命令,端口号为 你配置文件 ui.port的值,默认8080)

     最后如果程序出错,在你storm的解压目录下的logs里, 分别会生成nimbus、supervisor、ui目录,里面有各种的日志文件,用于记录异常信息,你可以查阅。

    参考资料:

    Twitter Storm: 搭建storm集群

    Installing native dependencies

    https://github.com/nathanmarz/storm/blob/master/conf/defaults.yaml

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值