全部博文(346)
分类: 大数据
2013-09-12 15:55:08
Storm的依赖软件比较多,需要装Python、zookeeper、zeromq以及jzmq,然后才是storm的安装。
第一步,安装Python2.7.2
追加/usr/local/lib/
这样的话,Python2.7.2就安装完毕了。
第二步,安装zookeeper
追加:
export ZOOKEEPER_HOME="/path/to/zookeeper"
export PATH=$PATH:$ZOOKEEPER_HOME/bin
配置$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版本,高版本在运行时会有问题)
如此这般,zeromq就安装好了,接下来我们安装jzmq。
2)安装jzmq
然后,jzmq就装好了,这里有个网站上参考到的问题没有遇见,遇见的童鞋可以参考下。在./autogen.sh这步如果报错:autogen.sh:error:could not find libtool is required to run autogen.sh,这是因为缺少了libtool,可以用#yum install libtool*来解决。
第五步,安装Storm
追加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