集群规划

角色 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. python程序开子进程打包成exe文件运行炸内存原因剖析

    首先给出伪代码 from multiprocessing import Process def task(): print("hahaha") pass if __name__ = ...

  2. 贪心学院 scrapy爬虫

    生成爬虫 scrapy genspider 爬虫名 网址 打开调试用shell scrapy shell 网址 主体 stock.py # -*- coding: utf-8 -*- import r ...

  3. Ubuntu16.04下使用pycharm导入scrapy框架

    出现迷之问题,ubuntu终端下安装的库在pycharm中无法识别 后重新为pycharm安装相关package,得以使用 看到3即可 https://www.cnblogs.com/airnew/p ...

  4. sqlyog注释的快捷键-先收藏

    在学习使用sqlyog的时候,想要多行注释SQL语句,就去网上找了相关的快捷键,与大家分享,网上有很多! Ctrl+M 创建一个新的连接Ctrl+N 使用当前设置新建连接Ctrl+F4 断开当前连接 ...

  5. MySQL线程池(THREAD POOL)的原理

    MySQL常用(目前线上使用)的线程调度方式是one-thread-per-connection(每连接一个线程),server为每一个连接创建一个线程来服务,连接断开后,这个线程进入thread_c ...

  6. 倍增-RMQ问题Sparse-Table算法

       提示 code: #include<bits/stdc++.h> #define ll long long #define inf 0x7fffffff using namespac ...

  7. TP5实现自定义抛出异常消息(关闭debug)

    重写Handle的render方法,实现自定义异常消息----------------------------------------------------------------------- 首 ...

  8. spark内核篇-task数与并行度

    每一个 spark job 根据 shuffle 划分 stage,每个 stage 形成一个或者多个 taskSet,了解了每个 stage 需要运行多少个 task,有助于我们优化 spark 运 ...

  9. DL4J中文文档/Keras模型导入/函数模型

    导入Keras函数模型 假设使用Keras的函数API开始定义一个简单的MLP: from keras.models import Model from keras.layers import Den ...

  10. 【记忆化搜索】Navy maneuvers

    [来源]: 2008年哈尔滨区域赛题目 [题目链接]: http://acm.hdu.edu.cn/showproblem.php?pid=2452 [参考博客]: https://blog.csdn ...