storm集群拓扑规划
在搭建Storm集群前,先看下下面的拓扑图,在1.1.0版本中,支持 Nimbus的HA模式,Nimbus、Supervisor,需要使用Zookeeper作为协同。
相关依赖
- jDK1.8
- zookeeper3.4.9
- python2.6.6+
安装包下载
wget http://mirror.bit.edu.cn/apache/storm/apache-storm-1.1.1/apache-storm-1.1.1.tar.gz
简称 | IP | 角色 |
---|---|---|
A | 192.168.2.149 | Nimbus |
B | 192.168.2.150 | Supervisor_01 |
C | 192.168.2.151 | Supervisor_02 |
Nimbus安装配置
Nimbus可以配置多台,实现HA,这里暂时就配置一台
需要对外开放的端口:6627: Nimbus 默认端口8080: Storm UI Web端口8000: LogView端口
配置文件
storm github提供的配置默认
########### These MUST be filled in for a storm configurationstorm.zookeeper.servers: - "192.168.2.149" - "192.168.2.150" - "192.168.2.151"nimbus.seeds: ["192.168.2.149"]#配置数据存储路径storm.local.dir: "/data/ms/storm-1.1.1/data"##配置节点健康检测storm.health.check.dir: "healthchecks"storm.health.check.timeout.ms: 5000storm.local.hostname: "192.168.2.149"#配置Storm UIui.port: 8080
启动程序
./storm nimbus >/dev/null 2>&1 &./storm ui >/dev/null 2>&1 &./storm logviewer >/dev/null 2>&1 &
在浏览器访问: 查看Storm UI主页
Supervisor安装配置
Supervisor安装的时候,只需要指定Nimbus地址,就可以自动加入Storm集群
配置文件
########### These MUST be filled in for a storm configurationstorm.zookeeper.servers: - "192.168.2.149" - "192.168.2.150" - "192.168.2.151"# nimbus.seeds: ["192.168.2.149"]#配置数据存储路径storm.local.dir: "/data/ms/storm-1.1.1/data"###配置节点健康检测storm.health.check.dir: "healthchecks"storm.health.check.timeout.ms: 5000storm.local.hostname: "192.168.2.150"#配置supervisor: 开启几个端口插槽,就开启几个对应的worker进程supervisor.slots.ports: - 6700 - 6701 - 6702 - 6703
启动程序
./storm supervisor >/dev/null 2>&1 &./storm logviewer >/dev/null 2>&1 &
知识点
FAQ
- Storm UI 中显示的Supervisor 的个数与实际的不符
删除Supervisor中的 storm.local.dir 目录的数据,之前拷贝到各个节点的时候,把这个目录页拷贝过去了。如果 storm.local.dir的目录为空的话,每个Supervisor就会创建自己的ID
- Storm ui展示主机名
每台storm这里hostname配置自己的ip地址
storm.local.hostname: "192.168.2.150"
- 日志链接链接失败
需启动LogView服务
./storm logviewer >/dev/null 2>&1 &