Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3276295
  • 博文数量: 346
  • 博客积分: 10189
  • 博客等级: 上将
  • 技术积分: 3125
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-05 19:46
文章分类

全部博文(346)

文章存档

2013年(35)

2011年(35)

2010年(76)

2009年(48)

2008年(152)

分类: 大数据

2013-09-12 15:55:08

      本文介绍Storm的集群安装配置过程,以及安装过程中遇到的问题解决。

Storm的依赖软件比较多,需要装Python、zookeeper、zeromq以及jzmq,然后才是storm的安装。

第一步,安装Python2.7.2

  • # wget 
  • # tar zxvf Python-2.7.2.tgz
  • # cd Python-2.7.2
  • # ./configure
  • # make
  • # make install
  • # vi /etc/ld.so.conf

         追加/usr/local/lib/

  • # sudo ldconfig

      这样的话,Python2.7.2就安装完毕了。

第二步,安装zookeeper

  • # wget 
  • # tar zxvf zookeeper-3.3.3.tar.gz
  • # cp -R zookeeper-3.3.3 /usr/local/
  • # ln -s /usr/local/zookeeper-3.3.3/ /usr/local/zookeeper
  • # vi .bash_profile (设置ZOOKEEPER_HOME和ZOOKEEPER_HOME/bin) 

          追加:

          export ZOOKEEPER_HOME="/path/to/zookeeper"

          export PATH=$PATH:$ZOOKEEPER_HOME/bin

  • # cp /usr/local/zookeeper/conf/zoo_sample.cfg /usr/local/zookeeper/conf/zoo.cfg (用zoo_sample.cfg制作$ZOOKEEPER_HOME/conf/zoo.cfg)
  • # sudo mkdir /tmp/zookeeper
  • # sudo mkdir /var/log/zookeeper

配置$ZOOKEEPER_HOME/conf/zoo.cfg文件
加入以下信息:
   tickTime=2000
   dataDir=/var/zookeeper/
   clientPort=2181
   initLimit=5
   syncLimit=2
   server.1=server1_ip:2888:3888
   server.2=server2_ip:2888:3888
   server.3=server3_ip:2888:3888
   server.4=server4_ip:2888:3888
在/tmp/zookeeper文件夹下新建文件:myid
添加server序号到myid中,如: server.1 机器的myid 只需要加入数字 1 即可;     
好的,zookeeper的安装已经完成了。

第三步,安装zeromq以及jzmq

jzmq的安装貌似是依赖zeromq的,所以应该先装zeromq,再装jzmq。

1)安装zeromq:(注意,需要安装2.1.7版本,高版本在运行时会有问题

  • # wget 
  • # tar zxf zeromq-2.1.7.tar.gz
  • # cd zeromq-2.1.7
  • # ./configure
  • # make
  • # make install
  • # sudo ldconfig (更新LD_LIBRARY_PATH)

如此这般,zeromq就安装好了,接下来我们安装jzmq。

2)安装jzmq

  • # yum install git
  • # git clone git://github.com/nathanmarz/jzmq.git
  • # cd jzmq
  • # ./autogen.sh
  • # ./configure
  • # make
  • # make install

然后,jzmq就装好了,这里有个网站上参考到的问题没有遇见,遇见的童鞋可以参考下。在./autogen.sh这步如果报错:autogen.sh:error:could not find libtool is required to run autogen.sh,这是因为缺少了libtool,可以用#yum install libtool*来解决。

第五步,安装Storm

  • # wget 
  • # unzip storm-0.8.2.zip
  • # cp -R storm-0.8.2 /usr/local/
  • vi .bash_profile

          追加export STORM_HOME=/usr/local/storm-0.8.2

          export PATH=$PATH:$STORM_HOME/bin

到此为止单机版的Storm就安装完毕了。
下面是要运行storm集群所必须的配置:

1. storm.zookeeper.servers 这个配置storm集群使用的zookeeper集群的地址,比如:
storm.zookeeper.servers:
  - "111.222.333.444"
  - "555.666.777.888"
2. storm.local.dir Nimbus和Supervisor在本地磁盘上需要一个目录来存储一些状态信息(jar包, 配置文件之类的东西)你应该在每台机器上创建那个目录,分配正确的权限,比如:
storm.local.dir: "/mnt/storm"
3. java.library.path 这是storm所依赖的本地依赖(ZeroMQ和JZMQ)的加载地址, 默认的是:/usr/local/lib:/opt/local/lib:/usr/lib, 大多情况下是对的,所以你应该不用更改这个配置。
4. nimbus.host 所有工作机器需要nimbus机器的地址, 这样它们才知道去哪里获取jar包和配置文件:
nimbus.host: "111.222.333.44"
5. supervisor.slots.ports 对于每一台工作机器,这个配置指定在这台工作机器上运行多少工作进程, 每个进程使用一个独立端口来接收消息,这个配置同时也指定使用哪些端口。如果你在这里定义5个端口, storm会在这个机器上最多分配5个工作进程。如果分配3个端口,那么最多分配3个进程。默认的配置是4个:
supervisor.slots.ports:
    - 6700
    - 6701
    - 6702
    - 6703
启动守护进程
最后一步是启动storm的所有守护进程。还是前面说的那样,对于每个进程都要有监控!storm是一个fail-fast系统,出现什么不可预知的错误的时候它都会退出的。storm被设计成在任何时候都可以安全退出, 在任何时候都能正确重启, 这就是storm为什么不在线程内存储状态 — 如果Nimbus和Supervisor重启的话,不会影响正在运行的topology。下面介绍如何启动这些线程:
Nimbus 在Nimbus机器上运行nohup storm nimbus & (后台启动)
Supervisor 在每台工作机器上运行nohup storm supervisor &, supervisor负责启动和终止工作机器上的工作进程。
UI storm UI是一个可以查看storm运行状态的的一个网站,通过nohup storm ui &运行,访问地址: http://{nimbus.host}:8080/。

参考文档:

http://blog.sina.com.cn/s/blog_8ae7b3fe010124mr.html

搭建storm集群/ 

http://blog.csdn.net/baiyangfu/article/details/7381686
http://blog.csdn.net/cnbird2008/article/details/8792423


阅读(3327) | 评论(0) | 转发(0) |
0

上一篇:storm简介

下一篇:流式计算之Storm简介

给主人留下些什么吧!~~