集群规划

角色 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实践(二):集群搭建的更多相关文章

  1. RocketMQ4.2 最佳实践之集群搭建

    学习了RocketMQ的基本概念后,我们来看看RocketMQ最简单的使用场景.RocketMQ的服务器最简单的结构,必须包含一个NameServer和一个Broker.Producer把某个主题的消 ...

  2. Ocelot+Consul 集群搭建实践

    博客园已经有很多大神写过consul集群搭建了.大家都在玩,那我也不能托后退呢 不过自己研究下还是好的.毕竟每个人遇到的问题的不同 研究过才能说自己玩过consul,文章有部分名词解释是收集网络 Co ...

  3. Hadoop集群搭建安装过程(二)(图文详解---尽情点击!!!)

    Hadoop集群搭建安装过程(二)(配置SSH免密登录)(图文详解---尽情点击!!!) 一.配置ssh无密码访问 ®生成公钥密钥对 1.在每个节点上分别执行: ssh-keygen -t rsa(一 ...

  4. 二、redis集群搭建

    redis集群搭建 redis3.0后支持集群.集群中应该至少有三个节点,每个节点有一备份节点.需要6台服务器.搭建伪分布式,需要6个redis实例.搭建集群的步骤: 一.安装单机版redis 第一步 ...

  5. 【原创 Hadoop&Spark 动手实践 5】Spark 基础入门,集群搭建以及Spark Shell

    Spark 基础入门,集群搭建以及Spark Shell 主要借助Spark基础的PPT,再加上实际的动手操作来加强概念的理解和实践. Spark 安装部署 理论已经了解的差不多了,接下来是实际动手实 ...

  6. Spark项目之电商用户行为分析大数据平台之(二)CentOS7集群搭建

    一.CentOS7集群搭建 1.1 准备3台centos7的虚拟机 IP及主机名规划如下: 192.168.123.110 spark1192.168.123.111 spark2192.168.12 ...

  7. 【kafka学习之二】Kafka集群搭建

    安装环境    jdk1.7 zookeeper-3.4.5(参考 https://www.cnblogs.com/cac2020/p/9426531.html) VM虚拟机redhat6.5-x64 ...

  8. Redis(二)CentOS7安装Redis4.0.10与集群搭建

    一 Redis单机安装 1 Redis下载安装 1.1 检查依赖环境(Redis是C语言开发,编译依赖gcc环境) [root@node21 redis-]$ gcc -v -bash: gcc: c ...

  9. Zookeeper(二) zookeeper集群搭建 与使用

    一.zookeeper集群搭建 鉴于 zookeeper 本身的特点,服务器集群的节点数推荐设置为奇数台.我这里我规划为三台, 为别为 hadoop01,hadoop02,hadoop03    1. ...

  10. MongoDB 3.4 高可用集群搭建(二)replica set 副本集

    转自:http://www.lanceyan.com/tech/mongodb/mongodb_repset1.html 在上一篇文章<MongoDB 3.4 高可用集群搭建(一):主从模式&g ...

随机推荐

  1. SolidWorks学习笔记9 自顶向下方法

    目的:制作一个轴承. 先创建一个零件作为一级控件,(草图)如下,是轴承的横截面. 创建内环. 新建一个零件,然后选择插入=>零件,选择“一级控件”零件 创建卡环,插入零件,选择一级控件 然后再旋 ...

  2. 手写Indexof

    String.prototype.indexO = function(st){ // console.log(this.length); let str = this; var j = 0; let ...

  3. #Java第三周总结

    第三周实验题目+总结 第一题:打印输出所有的"水仙花数",所谓"水仙花数"是指一个3位数,其中各位数字立方和等于该数本身.例如,153是一个"水仙花数 ...

  4. JavaSE基础(三)--Java基础语法

    Java 基础语法 一个 Java 程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作.下面简要介绍下类.对象.方法和实例变量的概念. 对象:对象是类的一个实例,有状态和行为.例如 ...

  5. 【转帖】Linux和GNU系统

    Linux和GNU系统 Richard Stallman 著 http://www.gnu.org/gnu/linux-and-gnu.zh-cn.html 更多信息,请同时参看GNU/Linux常见 ...

  6. getBoundingClientRect()方法

    是在<javascript高级程序设计>中看到了这个方法.getBoundingClientRect在IE5中就有,但似乎不怎么引起我们注意. 返回值:它返回一个clientRect对象, ...

  7. SQL SERVER GETDATE() 函数

    定义: GETDATE() 函数从 SQL Server 返回当前的时间和日期. 语法: GETDATE() 返回值: datetime型数据 例:  声明:本文是本人查阅网上及书籍等各种资料,再加上 ...

  8. python入门小结

    以下划线开头的标识符是有特殊意义的.以单下划线开头(_foo)的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用"from xxx import *"而导入: 以双下划 ...

  9. PAT A1019 General Palindromic Number (20 分)

    AC代码 #include <cstdio> const int max_n = 1000; long long ans[max_n]; int num = 0; void change( ...

  10. 剑指offer3:从尾到头打印链表每个节点的值

    1. 题目描述 输入一个链表,从尾到头打印链表每个节点的值. 2. 思路和方法 2.1 推荐的方法 (1)栈,循环 后进先出,我们可以用栈实现这种顺序.每经过一个结点的时候,把该节点放到一个栈里面,当 ...