storm安装配置

来源:互联网 发布:刷金币软件 编辑:程序博客网 时间:2024/05/09 08:17

系统:Ubuntu 12.04 64bit (VirtualBox下)

节点:VM1,VM2

 1.JAVA、Python安装配置

略,JAVA:1.6,Python 2.7

centos5.9下默认是python2.4.3,没有json module,需要单独安装 yum -y install python-simplejson

2.编译工具安装

sudo apt-get install build-essential uuid-dev unzip autoconf automake

注意在安装uuid-dev的时候不同系统安装的名称不一样,使用centeros的同学需要安装yum install uuid-devel,ubuntu的同学可以直接安装apt-get install uuid-dev

3.修改 /etc/hosts 文件,末尾添加,并且scp到另一个VM上

11.22.33.44 node155.66.77.88 node2
tips:
scp xx_file user@ip_address:directoryscp -r xx_dir user@ip_address:directory

4.安装zookeeper

下载 zookeeper-3.4.5

将zookeeper-3.4.5/conf目录下面的 zoo_sample.cfg复制一个为zoo.cfg,配置文件内容修改如下:

# The number of milliseconds of each ticktickTime=2000# The number of ticks that the initial # synchronization phase can takeinitLimit=10# The number of ticks that can pass between # sending a request and getting an acknowledgementsyncLimit=5# the directory where the snapshot is stored.# do not use /tmp for storage, /tmp here is just # example sakes.dataDir=/home/username/zookeeper-3.4.5/tmp/zookeeper-datadataLogDir=/home/username/zookeeper-3.4.5/tmp/logs# the port at which the clients will connectclientPort=2181server.1=node1:2888:3888server.2=node2:2888:3888
同样的scp传输到另一个VM对应目录。

设置myid,在dataDir对应的目录(/home/username/zookeeper-3.4.5/tmp/zookeeper-data)下面新建文件,node1的写1,node2的写2,(1对应了 server.1=node1:2888:3888 里面的server.1)

echo "1" > /home/username/zookeeper-3.4.5/tmp/zookeeper-data/myid   (node1上)
echo "2" > /home/username/zookeeper-3.4.5/tmp/zookeeper-data/myid   (node2上)

两个VM上都启动zookeeper

~/zookeeper-3.4.5/bin/zkServer.sh start
然后查看zookeeper状态

~/zookeeper-3.4.5/bin/zkServer.sh status

一个VM上显示如下

JMX enabled by defaultUsing config: /home/username/zookeeper-3.4.5/bin/../conf/zoo.cfgMode: leader

另一个VM上显示如下

JMX enabled by defaultUsing config: /home/username/zookeeper-3.4.5/bin/../conf/zoo.cfgMode: follower

一开始可能会显示出错,过一会儿就好了

5. ZeroMQ 2.2.0安装

下载,解压,进入目录

./configuremakesudo make install

6. jzmq安装(JZMQ是ZeroMQ的Java Binding)

git clone https://github.com/nathanmarz/jzmq.gitcd jzmq./autogen.sh./configuremakesudo make install
两个安装时的错误修正方法
(1).make[1]: *** 没有规则可以创建“org/zeromq/ZMQ.class”需要的目标“classdist_noinst.stamp”。 停止
   修正方法,创建classdist_noinst.stamp文件,
touch src/classdist_noinst.stamp
(2).错误:无法访问 org.zeromq.ZMQ
  修正方法,进入src目录,手动编译相关java代码

javac -d . org/zeromq/*.java


7.安装storm

下载Storm发行版本,目前版本Storm0.8.2,解压

unzip storm-0.8.1.zip
修改Storm的配置文件 conf/storm.yaml

########### These MUST be filled in for a storm configurationstorm.zookeeper.servers:     - "node1"     - "node2"storm.local.dir: "/home/username/storm-0.8.2/workdir"ui.port: 8088# nimbus.host: "node1"supervisor.slots.ports:    - 6700    - 6701    - 6702    - 6703

nimbus服务器设置在node1上,各自创建对应的workdir文件夹。

ui.port这里修改成了8088,默认是8080,为了避免和其他web服务冲突。

supervisor.slots.ports: 对于每个Supervisor工作节点,需要配置该工作节点可以运行的worker数量。每个worker占用一个单独的端口用于接收消息,该配置选项即用于定义哪些端口是可被worker使用的。默认情况下,每个节点上可运行4个workers,分别在6700、6701、6702和6703端口。

Nimbus: 在Storm主控节点(node1)上运行,启动Nimbus后台程序,并放到后台执行(各自exception重定向到null了,呵呵);

bin/storm nimbus >/dev/null 2>&1 &

Supervisor: 在Storm各个工作节点(node1,node2)上运行,启动Supervisor后台程序,并放到后台执行;

bin/storm supervisor >/dev/null 2>&1 &
UI: 在Storm主控节点(node1)上运行,启动UI后台程序,并放到后台执行。

bin/storm ui >/dev/null 2>&1 &
UI启动后,可以通过 http://node1:8088 观察集群的worker资源使用情况、Topologies的运行状态等信息。

主要参看 

http://blog.csdn.net/lldustc/article/details/8451949

http://blog.csdn.net/larrylgq/article/details/7324146

http://my.oschina.net/BreathL/blog/84165

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

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