Storm实践(二):集群搭建
2024-10-06 16:07:29
集群规划
角色 | 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
最新文章
- PS 切图
- Maven学习-处理资源文件
- STL模板之_map,stack(计算矩阵相乘的次数)
- 序号自增key的使用
- 使用VS连接SQLServe时提示未能载入文件或程序集“System.Data.OracleClient, Version=2.0.0.0, Culture=neutral, PublicKey
- Android:启动引导页实现
- WPF中增加Month Calendar月历控件
- openwrt 新版IPV6问题
- ajaxfileupload.js插件结合一般处理文件实现Ajax无刷新上传
- Android自动测试之Monkey工具
- 常见的XSS攻击代码
- java实现二叉树的建立以及实现二叉查找树的查、插、删、遍历
- c语言实现wc功能
- 统计uint64的数对应二进制数的1的个数
- trac
- C#使用System.IO.Path获取文件路径、文件名
- python numpy的transpose函数用法
- myBatis连接MySQL报异常:No operations allowed after connection closed.Connection was implicitly closed
- 我所遭遇过的中间件--3D MAX SDK
- golang基础之三-字符串,时间,流程控制,函数
热门文章
- SpringCloud学习(五)路由网关(zuul)(Finchley版本)
- visio给任意图形进行填充
- POJ2411 Mondriaan's Dream 【状压dp】
- 人渣给我笔记本网络适配器里加的的“bluetooth设备(个人局域网)”,卸载不掉
- SpringBoot整合MyBatis完成添加用户
- MyBatis学习存档(1)——入门
- Http 协议学习
- java8 List对象集合去重
- js之数据类型(对象类型——构造器对象——函数1)
- redis cluster突然少了一个node的问题