安装Storm集群,需要依赖以下组件:
Zookeeper Python Zeromq Storm JDK JZMQ
我准备了3台机器,并在每台机器上配置主机别名,$ vi /etc/hosts
1.搭建Zookeeper集群
(1)安装zookeeper
$ tar zxvf zookeeper-3.4.6.tar.gz
(2)修改zoo.cfg
$ cp -rf conf/zoo_sample.cfg conf/zoo.cfg
$ vi zoo.cfg
内容:
tickTime=2000
dataDir=/usr/local/software/zookeeper-3.4.6/data
clientPort=2181
initLimit=5
syncLimit=2
server.1=host1:2888:3888
server.2=host2:2889:3889
server.3=host3:2890:3890
(3)在”dataDir”的目录中添加myid,并且编辑内容分别对应server的序号,分别是1、2、3
(4)在三台机器上分别启动
$ ./bin/zkServer.sh start ./conf/zoo.cfg
通过$ ./bin/zkServer.sh status 查看zookeeper的leader
2.安装JDK
(1) tar zxvf jdk-7u79-linux-x64.tar.gz
(2) 配置环境变量
$ vi /etc/profile
运行$ source /etc/profile,使配置环境生效
(3)查看java版本
3.安装JZMQ
$ git clone git://github.com/nathanmarz/jzmq.git
$ cd jzmq
$ ./autogen.sh
$ ./configure
$ make & make install
4.安装Zeromq
安装ZeroMQ所需组件及工具:
$ yum install gcc gcc-c++ make uuid-devel libuuid-devel libtool
$ tar zxvf zeromq-4.2.0.tar.gz
$ cd zeromq-4.2.0
手动创建classdist_noinst.stamp空文件
$ touch src/classdist_noinst.stamp
进入文件夹 jzmq/src/org/zeromq,手动编译Java代码 $ javac *.java
$ ./configure
$ make & make install
5.搭建Storm集群
(1) 安装包
$ tar zxvf apache-storm-1.0.2.tar.gz
(2) 配置环境变量
(3) 建立storm存储目录
$ mkdir /tmp/storm
(4) 把host1作为nimbus和ui的服务器。host1、host2、host3为supervisor服务器,修改配置文件/conf/storm.yaml, 如下配置:
storm.zookeeper.servers:
- "host1"
- "host2"
- "host3"
ui.port: 8081
nimbus.host: "host1"
storm.local.dir: "/tmp/storm"
supervisor.slots.ports:
- 6700
- 6701
- 6702
- 6703
其中,配置参数说明:
• storm.zookeeper.servers:Storm集群使用的Zookeeper集群地址,如果Zookeeper集群使用的不是默认端口,那么还需要storm.zookeeper.port选项。
• ui.port:Storm UI的服务端口
• storm.local.dir:Nimbus和Supervisor进程用于存储少量状态,如jars、confs等的本地磁盘目录
• nimbus.host: Storm集群Nimbus机器地址
• supervisor.slots.ports: 对于每个Supervisor工作节点,需要配置该工作节点可以运行的worker数量。每个worker占用一个单独的端口用于接收消息,该配置选项即用于定义哪些端口是可被worker使用的。默认情况下,每个节点上可运行4个workers,分别在6700、6701、6702和6703端口
6.启动Storm集群
(1) Nimbus:
在Storm主控节点(本文中为host1)上运行”bin/storm nimbus >/dev/null 2>&1 &”启动Nimbus后台程序,并放到后台执行;
(2) Supervisor:
在Storm各个工作节点(本文中为host1/host2/host3)上运行”bin/storm supervisor >/dev/null 2>&1 &”启动Supervisor后台程序,并放到后台执行;
(3) UI:
在Storm主控节点(本文中为host1)上运行”bin/storm ui >/dev/null 2>&1 &”启动UI后台程序,并放到后台执行。
7.查看Storm UI
请求 http://192.168.137.131:8081/
自此storm集群环境就搭建完毕了。