官方安装地址
http://storm.apache.org/releases/1.0.2/Setting-up-a-Storm-cluster.html
storm集群的三个角色
Nimbus:负责资源分配和任务调度。
Supervisor:负责接受nimbus分配的任务,启动和停止属于自己管理的worker进程。---通过配置文件设置当前supervisor上启动多少个worker。
Worker:运行具体处理组件逻辑的进程。Worker运行的任务类型只有两种,一种是Spout任务,一种是Bolt任务。
Task:worker中每一个spout/bolt的线程称为一个task.在storm0.8之后,task不再与物理线程对应,不同spout/bolt的task可能会共享一个物理线程,该线程称为executor。
安装
准备条件
1、安装好zookeeper
2、下载 apache-storm-1.1.0.tar.gz
1、解压
tar -zxvf apache-storm-1.1.0.tar.gz -C apps/
2、重命名
mv apache-storm-1.1.0/ storm
3、修改环境变量,添加storm bin目录到path里面,修改完后 source /etc/profile
4、修改配置文件
配置文件说明
#指定storm使用的zk集群
storm.zookeeper.servers:
- "m1"
- "m2"
- "m3"
#指定storm本地状态保存地址
storm.local.dir: "/export/data/storm/workdir"
#指定storm集群中可以作为nimbus节点的机器,如果需要HA可以写多个
nimbus.seeds: ["m1"]
#指定nimbus启动JVM最大可用内存大小
nimbus.childopts: "-Xmx1024m"
#指定supervisor启动JVM最大可用内存大小
supervisor.childopts: "-Xmx1024m"
#指定supervisor节点上,每个worker启动JVM最大可用内存大小
worker.childopts: "-Xmx768m"
#指定ui启动JVM最大可用内存大小,ui服务一般与nimbus同在一个节点上。
ui.childopts: "-Xmx768m"
#指定supervisor节点上,启动worker时对应的端口号,每个端口对应槽,每个槽位对应一个worker
supervisor.slots.ports:
- 6700
- 6701
- 6702
- 6703
具体修改如下
storm.zookeeper.servers:
- "m1"
- "m2"
- "m3"
nimbus.seeds: ["m1"] supervisor.slots.ports:
- 6700
- 6701
- 6702
- 6703
5、启动
1)、必须确保zookeeper已经启动
2)、在nimbus上启动nimbus可ui进程
./storm nimbus #后台启动 nohup ./storm nimbus 1>/dev/null 2>&1 &
./storm ui #后台启动 /storm ui 1>/dev/null 2>&1 &
3)、在supervisor节点启动superv进程
./storm supervisor
6、网页验证
http://m1:8080/