分享

Twitter Storm集群搭建小结

 集微笔记 2013-09-13

     最近自己尝试搭建了一下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,你可以通过执行如下命令安装:

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


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

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


Storm的安装

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

Storm的配置

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

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

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

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


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

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

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

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


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


1 ui.port: 8080

启动Storm

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

1 storm nimbus
2 storm supervisor
3 storm 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

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多