Storm实践:集群搭建

Posted 匠心数据

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Storm实践:集群搭建相关的知识,希望对你有一定的参考价值。

集群规划

角色 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,这里暂时就配置一台

需要对外开放的端口:

  1. 6627: Nimbus 默认端口
  2. 3772: DRPC 默认端口
  3. 8080: Storm UI Web端口

配置文件

storm/conf/defaults.yaml

建议: 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

命令

storm集群启动/停止脚本

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}‘` 

出现问题及解决方案

  1. supervisor出现hostname为localhost(log)的情况,原因是106未安装hadoop,没有hadoop运行环境与配置.
  2. nimbus出现 重复机器:即2条记录(一个活着、一个未活着),一条为hostname,一条数据为ip,与服务注册出现情况类似(服务发现想显示ip,显示不了),这里其实在nimbus.seeds用别名即可。nimbus.seeds: ["dda","ddb"]

自动化配置集群

当集群规模比较大时,集群的管理是一个复杂的问题。Puppet提供了对Storm 集群进行管理的一套脚本。需要的同学可以自行研究下,github地址:https://github.com/miguno/puppet-storm

以上是关于Storm实践:集群搭建的主要内容,如果未能解决你的问题,请参考以下文章

STORM在线业务实践-集群空闲CPU飙高问题排查

Storm集群搭建

Storm集群环境搭建

storm集群环境搭建

storm集群搭建

storm集群搭建