Storm集群搭建

来源:互联网 发布:生态环境监测网络建设 编辑:程序博客网 时间:2024/05/16 16:20

一、安装前准备

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

0 0
原创粉丝点击