storm简单理解
一、Storm集群架构
-
Nimbus :Storm集群的Master节点,负责分发用户代码,指派给具体的Supervisor节点上的Worker节点,去运行Topology对应的组件(Spout/Bolt)的Task。
-
Supervisor :Storm集群的从节点,负责管理运行在Supervisor节点上的每一个Worker进程的启动和终止。通过Storm的配置文件中的supervisor.slots.ports配置项,可以指定在一个Supervisor上最大允许多少个Slot,每个Slot通过端口号来唯一标识,一个端口号对应一个Worker进程(如果该Worker进程被启动)。
-
ZooKeeper :用来协调Nimbus和Supervisor,如果Supervisor因故障出现问题而无法运行Topology,Nimbus会第一时间感知到,并重新分配Topology到其它可用的Supervisor上运行。
集群规划
|Master| 192.168.23.200 |Zookeeper、nimbus、core
|Slave1| 192.168.23.201 |Zookeeper、Supervisor
|Slave2| 192.168.23.202 |Zookeeper、nimbus、core、Supervisor
安装
-
压解到/user上
tar -zxvf apache-storm-1.2.2.tar.gz -C /user
-
修改配置文件 conf/storm.yaml
记得是有空格的哦!!前面也有,中间也有。storm.zookeeper.servers: #zookeeper服务 - "Master" - "Slave1" - "Slave2" storm.local.dir: "/user/storm-1.2.2/tmp" #事先创建好 nimbus.seeds: ["Master", "Slave2"] #高可用 ##指定supervisor节点上,启动worker时对应的端口号,每个端口对应槽,每个槽位对应一个worker supervisor.slots.ports: - 6700 - 6701 - 6702 - 6703
-
在Master主机上分发到其他两台主机
scp -r storm-1.2.2/ hadoop@192.168.23.201:/user scp -r storm-1.2.2/ hadoop@192.168.23.202:/user
-
修改当前用户环境变量,三台机都要,比较方便
vi ~/.bashrc ---------------------------- PATH=/user/storm-1.2.2/bin:$PATH
-
启动,Master和Slave2
nohup ./bin/storm nimbus & nohup ./bin/storm ui &
-
启动,Slave1和Slave2
nohup ./bin/storm supervisor & nohup ./bin/storm supervisor &
-
启动,每台机都启动logviewer,可以选择不启。
nohup sh storm logviewer &
-
jps
-
查看web UI
Master
Slave2
-
到此为止就安装成功了。