最近也是有朋友问我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界面,如下图所以:
ui界面上可以看到集群的相关信息,下面还有nimbus的一些配置信息,到这里storm集群就搭建成功了.今天就先写到这里吧.下一篇中会有demo介绍.
如果有写的不对的地方,欢迎大家指正,如果有什么疑问,可以加QQ群:340297350,谢谢