最近也是有朋友问我storm的问题,好长时间没玩storm了,今天就来简单的说一下吧,首先我们来看一下官网的图片,storm是完全实时的,就像水龙头打开后一样,会不停的往外面流水.所以他的延迟非常的低,这也是他的特点.然后先搭建storm集群吧,storm集群的搭建也比较简单.
然后来看一下storm集群的架构图,发现中间需要一个zookeeper,没错zookeeper是一个分布式的协调服务框架,因为storm的nimbus和supervisor之间的交互需要通过zookeeper来完成,了解了storm的架构图,下面就开始搭建吧.
版本:zookeeper:3.4.10,storm:1.1.0
zookeeper集群的搭建:
把zookeeper的安装包上传到服务器之后:
1.tar -zxvf zookeeper-3.4.10.tar.gz(可以重命名一下)
2.cd /zookeeper-3.4.10/conf
3.vi zoo.cfg,配置如下,我配置的比较简单.
tickTime=2000 initLimit=10 syncLimit=5 dataDir=/home/jason/bigdata/zookeeper/zookeeper-3.4.10/data dataLogDir=/home/jason/bigdata/zookeeper/zookeeper-3.4.10/logs clientPort=2181 server.1=master:2888:3888 server.2=storm1:2888:3888 server.3=storm2:2888:3888 #maxClientCnxns=60
4.在zookeeper的目录下面,mkdir data,然后cd /data,vi myid,输入1后保存退出.
5.scp -r root@storm1:/home/jason/bigdata/zookeeper,scp -r root@storm2:/home/jason/bigdata/zookeeper
6,进入data把myid分别改为1,2,3他们跟配置文件里面的server.x 中的x相对应.
7,启动zookeeper集群,cd /bin, 三台分别执行./zkServer.sh start
8,查看集群的状态,./zkServer.sh status,三台中有一个是leader,另外两个显示follower,就证明zookeeper集群搭建成功了
storm集群的搭建:
1.把storm的安装包上传到服务器上后开始解压, tar -zxvf apache-storm-1.1.1.tar.gz.
2.cd /storm-1.1.1/conf
3,vi storm.yaml,(注意每一行的前面都要加一个空格)
########### These MUST be filled in for a storm configuration storm.zookeeper.servers: - "master" - "storm1" - "storm2" # # nimbus.seeds: ["master"] nimbus.host: "master" storm.zookeeper.port: 2181 storm.local.dir: "/home/jason/bigdata/storm/storm-1.1.1/data" ui.port: 8080 supervisor.slots.ports: - 6700 - 6701 - 6702 - 6703
4.把配置好的storm复制到另外两台子节点上面,命令和上面的一样,
5.启动storm集群,在master节点的bin/下面执行./storm nimbus &,./storm ui &,然后在子节点启动./storm supervisor &.
6.OK,storm集群搭建完成,打开浏览器输入主节点的ip:8080,可以看到ui界面,如下图所以: