集群规划
角色 | IP | hostname |
---|---|---|
nimbus | 192.168.100.101 | dda |
supervisor | 192.168.100.102 | ddb |
supervisor | 192.168.100.106 | ddg |
drpc.servers | 192.168.100.106 | ddg |
Nimbus可以配置多台,实现HA,这里暂时就配置一台
需要对外开放的端口:
- 6627: Nimbus 默认端口
- 3772: DRPC 默认端口
- 8080: Storm UI Web端口
配置文件
建议: Nimbus、DRPC的端口直接用默认的,无需更改
Nimbus
wget http://mirrors.shuosc.org/apache/storm/apache-storm-1.1.1/apache-storm-1.1.1.tar.gz #配置Zookeeper storm.zookeeper.servers: - "192.168.100.105" - "192.168.100.104" - "192.168.100.103" #配置数据存储路径 storm.local.dir: "/root/apache-storm-1.1.0/data" #配置Nimbus master,如果有多个,可以填写,用逗号隔开 nimbus.seeds: ["192.168.100.101"] ## 配置DRPC服务 drpc.servers: - "192.168.100.106"
Supervisor
storm.zookeeper.servers: - "192.168.100.105" - "192.168.100.104" - "192.168.100.103" storm.local.dir: "/root/apache-storm-1.1.0/data" nimbus.seeds: ["192.168.100.106"] #配置Zookeeper storm.zookeeper.servers: - "192.168.100.105" - "192.168.100.104" - "192.168.100.103" #配置数据存储路径 storm.local.dir: "/root/apache-storm-1.1.0/data" #配置Nimbus master,如果有多个,可以填写,用逗号隔开 nimbus.seeds: ["dda","ddb"] #缺省配置 Monitoring Health of Supervisors storm.health.check.dir: "healthchecks" storm.health.check.timeout.ms: 5000 #缺省配置,如果有4个以上的worker,需要增加端口,因为一个端口一个worker supervisor.slots.ports: - 6700 - 6701 - 6702 - 6703
命令
bin/storm nimbus >/dev/null 2>&1 & bin/storm supervisor >/dev/null 2>&1 & bin/storm ui >/dev/null 2>&1 & #关闭nimbus相关进程: kill `ps aux | egrep '(daemon\.nimbus)|(storm\.ui\.core)' | fgrep -v egrep | awk '{print $2}'` #干掉supervisor上的所有storm进程: kill `ps aux | fgrep storm | fgrep -v 'fgrep' | awk '{print $2}'`
出现问题及解决方案
- supervisor出现hostname为localhost(log)的情况,原因是106未安装hadoop,没有hadoop运行环境与配置.
- nimbus出现 重复机器:即2条记录(一个活着、一个未活着),一条为hostname,一条数据为ip,与服务注册出现情况类似(服务发现想显示ip,显示不了),这里其实在nimbus.seeds用别名即可。nimbus.seeds: ["dda","ddb"]
自动化配置集群
当集群规模比较大时,集群的管理是一个复杂的问题。Puppet提供了对Storm 集群进行管理的一套脚本。需要的同学可以自行研究下,github地址:https://github.com/miguno/puppet-storm
来源:https://www.cnblogs.com/small-k/p/8414747.html