一、安装前准备
jdk-6u32-linux-x64.bin (jdk-1.6.x即可)
zookeeper-3.4.5.tar.gz
zeromq-2.1.7.tar.gz
jzmq https://github.com/nathanmarz/jzmq
storm-0.8.2.zip
python 2.6
unzip
请尽量使用本文提供的软件包版本,尤其是zeroMQ,因为其他版本可能导致storm运行失败
一、安装jdk
安装jdk并配置JAVA_HOME环境变量
二、安装ZooKeeper集群
Zookeeper集群的安装文章有很多,在此不再赘述。建议集群中节点数量为不小于2的奇数。
三、安装zeroMQ
zeroMQ实际上是一个高效的底层通信库。按步骤来
tar -xvf zeromq-2.1.7.tar.gz
cd zeromq-2.1.7.tar.gz
./configure 一般情况下默认即可
make
sudo make install
注:1)确保make和make install 过程中没有出现error 2)zeroMQ的更高级别版本可能导致storm通信失败
四、安装jzmq
jzmq是zeroMQ的java绑定
cd jzmq
./autogen.sh
./configure
make
sudo make install
确保make和make install过程中没有出现任何error
五、检查zeroMQ和jzmq的安装
查看zeromq和jzmq的库是否已经安装到位,一般在/usr/local/lib目录:
ls -l /usr/local/lib
-rw-r--r--. 1 root root 434774 Jan 23 14:46 libjzmq.a
-rwxr-xr-x. 1 root root 926 Jan 23 14:46 libjzmq.la
lrwxrwxrwx. 1 root root 16 Jan 23 14:46 libjzmq.so -> libjzmq.so.0.0.0
lrwxrwxrwx. 1 root root 16 Jan 23 14:46 libjzmq.so.0 -> libjzmq.so.0.0.0
-rwxr-xr-x. 1 root root 196860 Jan 23 14:46 libjzmq.so.0.0.0
-rw-r--r--. 1 root root 4928202 Jan 23 14:33 libzmq.a
-rwxr-xr-x. 1 root root 958 Jan 23 14:33 libzmq.la
lrwxrwxrwx. 1 root root 15 Jan 23 14:33 libzmq.so -> libzmq.so.1.0.0
lrwxrwxrwx. 1 root root 15 Jan 23 14:33 libzmq.so.1 -> libzmq.so.1.0.0
-rwxr-xr-x. 1 root root 1995704 Jan 23 14:33 libzmq.so.1.0.0
drwxr-xr-x. 2 root root 4096 Jan 23 14:33 pkgconfig
-rw-r--r--. 1 root root 13642 Jan 23 14:33 zmq.jar
六、安装storm
安装完zeroMQ和jzMQ之后就可以安装storm了
直接解压至相应目录即可
七、配置运行环境
1)配置hosts
storm集群中的机器必须具有不同的hostname,并且彼此能互相连通。举例:
storm集群节点的hosts都应做如下绑定
10.237.35.182 zookeeper
10.237.35.182 nimbus
10.237.35.108 drpc
2)配置storm.yaml
storm.zookeeper.servers
storm.local.dir storm本地目录,多个实例不能互相覆盖
java.library.path java库路径,如果在安装zeroMQ和jzMQ过程中使用默认配置则不需要修改
nimbus.host 主节点
实例
########### These MUST be filled in for a storm configuration
storm.local.dir: "/usr/local/storm-0.8.2/storm-local"
storm.zookeeper.servers:
- "zookeeper"
# - "server2"
#
nimbus.host: "nimbus"
ui.port: 8090
#supervisor.slots.ports:
# - 6700
# - 6701
# - 6702
# - 6703
#topology.debug: true
supervisor.childopts: "-Xmx256m -Djava.net.preferIPv4Stack=true"
#
#
# ##### These may optionally be filled in:
#
## List of custom serializations
# topology.kryo.register:
# - org.mycompany.MyType
# - org.mycompany.MyType2: org.mycompany.MyType2Serializer
#
## List of custom kryo decorators
# topology.kryo.decorators:
# - org.mycompany.MyDecorator
#
## Locations of the drpc servers
drpc.servers:
- "drpc"
- "drpc2"
drpc.worker.threads: 1024
drpc.queue.size: 10240
topology.max.spout.pending: 20480
topology.max.task.parallelism: 1024
八、启动
1、在nimubs节点启动nimbus服务
nohup storm nimbus &
2、在nimbus节点启动ui服务
nohup storm ui &
3、在supervisor节点启动supervisor服务
nohup storm supervisor &
4、在drpc节点启动drpc服务
nohup storm drpc &
九、其他
在安装过程中可能需要安装其他依赖包,根据实际情况安装
其他可参考
https://github.com/nathanmarz/storm/wiki/Setting-up-a-Storm-cluster
转自:http://blog.csdn.net/willfcareer/article/details/8610122