---恢复内容开始---

先整体介绍一下搭建storm集群的步骤:
  1. 设置zookeeper集群
  2. 安装依赖到所有nimbus和worker节点
  3. 下载并解压storm发布版本到所有nimbus和worker节点
  4. 配置storm.yaml
  5. 启动相关后台进程

1 配置zookeeper集群

我们知道storm通过zookeeper来协调整个集群。zookeeper不是用来做消息传递,因此storm不会给zookeeper带来很大的压力。单节点的zookeeper在大多情形下是可以胜任的,但是如果你想得到更好的可靠性或者部署大集群的话,你可能就需要一个大的zookeeper集群。关于zookeeper的部署在这里就不多做介绍,具体请参考:here。
关于zookeeper的部署这里再补充两点:
  1. 把zookeeper运行在一个监督进程之下是非常关键的,因为zookeeper是一个fail-fast的进程,当它遇到任何错误的时候都会自动退出,具体请参考:  here
  2. 定时的去压缩和转移zookeeper数据也是非常关键的,因为zookeeper不具备压缩和清楚数据机制,如果我们不设置一个cron管理这些数据,zookeeper产生的数据会很快的占满磁盘,具体请参考: here
ps:如果zookeeper启动失败,查看一下它bin目录下的zookeeper.out文件,配置一下它的myid试试。

2 安装依赖到nimbus和worker节点

storm需要依赖的是:
  1. Java 6
  2. Python 2.6.6
需要注意,storm对大多数版本的依赖都做了测试,但是storm并不保证对任何版本的依赖都能正常工作。

3 下载解压storm发布版本到nimbus和worker节点

下一步就是下载解压storm压缩文件到每一台机器,storm发布版本可以从这里下载from here。

4 配置storm.yaml文件

storm里面有一个文件conf/storm.yaml,它就是storm的配置文件。关于这个文件的所有默认值可以从这里得到here。storm.yaml中的配置会覆盖掉default.yaml中的配置。下面配置一个集群必须修改的配置:
1) storm.zookeeper.servers:配置zookeeper集群的列表
  1. storm.zookeeper.servers:
  2. - "111.222.333.444"
  3. - "555.666.777.888"
如果你的zookeeper集群使用的端口不是默认端口,那么你还得配置storm.zookeeper.port。
2) storm.local.dir :storm的nimbus和work进程需要一个目录来存放一小部分状态数据,比如jars、confs等等。我们需要在每台机器上创建这个目录并且赋予其相应的权限。
  1. storm.local.dir: "/mnt/storm"
3) nimbus.host:worker节点需要知道哪个机器是master节点,以便自己从maser节点下载jars和confs。
  1. nimbus.host: "111.222.333.44"
4) supervisor.slots.ports:对于每一台worker机器,它决定了这台机器一共可以运行多少个worker进程。每个worker进程会独占一个端口来接收消息,这个参数就是配置了哪些端口会分配给worker进程。如果你在这配置了5个端口,那么storm将能分配5个worker进程给这台机器,如果配置3个端口,那么storm也只能分配3个worker进程。storm默认分配4个worker进程到6700,6701,6702,6703端口。比如:
  1. supervisor.slots.ports:
  2. - 6700
  3. - 6701
  4. - 6702
  5. - 6703

5 通过storm命令运行storm相关的守护进程

最后一步就是启动所有storm相关守护进程。当然,把这些进程都纳入到监督进程管理之下是很有必要的。storm也是一个fail-fast系统,这就意味着这些进程一但遇到异常就会终止。storm之所以会这么设计,是为了它可以在任何时候安全的终止和在进程重启的时候恢复。这就是storm为不在进程中保存相关状态的原因,如果nimbus或supervisor节点重启,运行着的topoloies不会受到任何影响。下面就是启动storm相关进程的命令:
  1. Nimbus:在master节点运行“bin/storm nimbus”
  2. Supervisor:在每一台worker节点运行“bin/storm supervisor”,supervisor进程负责在worker节点上启动和停止相应的worker进程
  3. UI:运行“bin/storm ui” ,一个通过页面管理和展示storm集群运行状态的工具,可以通过“http://nimbus host:8080”来访问。
我们可以看到启动storm服务进程相当简单直接,storm产生的log会保存在各台机器的storm/logs目录中,storm通过logback管理它的日志,我们可以通过修改其logback.xml文件来改变其log的目录及内容。

---恢复内容结束---

转载于:https://www.cnblogs.com/daochong/p/7002641.html

storm集群部署和配置过程详解相关推荐

  1. aproxy配合Nginx搭建Web集群部署实验(图文详解)

    文章目录 一.常见的Web集群调度器 二.Haproxy应用分析 三.Haproxy调度算法原理 四.Haproxy搭建 Web 群集 实验所需安装包 环境配置 1.部署haproxy服务器(192. ...

  2. Linux中级实战专题篇:rabbitmq(消息中间件p2p模式和pub模式,消息队列rabbitmq详解,单机安装,集群部署以及配置实战)

    一.消息中间件相关概念 1.简介 消息中间件也可以称消息队列,是指用高效可靠的消息传递机制进行与平台相关 的数据交流,并基于数据通信来进行分布式系统的集成.通过提供消息传递和消息 队列模型,可以在分布 ...

  3. rabbitmq集群部署及配置

    rabbitmq集群部署及配置 文章目录 rabbitmq集群部署及配置 前言 一.原理介绍 二.部署方案 1.环境介绍 2.部署过程 小结 前言 消息中间件rabbitmq,一般以集群方式部署,主要 ...

  4. 深入剖析Redis系列(三) - Redis集群模式搭建与原理详解

    前言 在 Redis 3.0 之前,使用 哨兵(sentinel)机制来监控各个节点之间的状态.Redis Cluster 是 Redis 的 分布式解决方案,在 3.0 版本正式推出,有效地解决了 ...

  5. 高可用集群技术之corosync应用详解(一)

    Corosync概述: Corosync是集群管理套件的一部分,它在传递信息的时候可以通过一个简单的配置文件来定义信息传递的方式和协议等.它是一个新兴的软件,2008年推出,但其实它并不是一个真正意义 ...

  6. 第二篇supervisor集群管理工具cesi安装详解-如何安装supervisor-cesiwebUI

    第二篇supervisor集群管理工具cesi安装详解-如何安装supervisor-cesiwebUI 介绍 安装 解压 安装依赖 修改配置 注册为系统服务 启动 登录一下,发现报错了 解决方法 介 ...

  7. 第一篇supervisor集群管理工具cesi安装详解-如何安装supervisor

    第一篇supervisor集群管理工具cesi安装详解-如何安装supervisor 环境 准备 安装python3.7.4 问题 解决方法 安装supervisor 配置supervisor服务 启 ...

  8. Apache+PHP配置过程详解

    Apache+PHP配置过程详解 经过两晚上的奋斗终于将Apache配置PHP成功,安装配置过程中走了不少弯路,特记录之. 1.Apache配置PHP个人认为首先要注意的是Apache和PHP的版本信 ...

  9. nagios配置过程详解

    一.nagios配置过程详解 1.nagios默认配置文件介绍  nagios安装完毕后,默认的配置文件在/usr/local/nagios/etc目录下,每个文件或目录含义如下表所示: 2.配置文件 ...

最新文章

  1. GitHub开源:狗屁不通文章生成器
  2. html使用highcharts绘制饼图,html js highcharts绘制圆饼图表
  3. 没有在工厂1112中维护 MRP 参数
  4. Oracle Long类型转换为Clob类型
  5. java12关键字var_Java 10:“ var”关键字
  6. linux定时器错误使用,linux下定时器的使用
  7. 小木棍(信息学奥赛一本通-T1442)
  8. python初体验-hello world答案_Anaconda上的python3初体验
  9. mysql数据库undo日志恢复_MySQL的undo/redo日志和binlog日志,以及2PC
  10. 21个实用便利的PHP代码
  11. 修改Opera浏览器默认主页搜索引擎
  12. Unity发布游戏在iOS设备上出现的字体问题
  13. 怎么把linux装入移动硬盘,把Ubuntu装进你的移动硬盘中
  14. 全球云服务商排名情况及国内云主机市场占有率份额排名对比
  15. 【智能商务】海量商品查找利器—苏宁搜索系统
  16. java将图片存储在数据库(mysql)
  17. SpringBoot RabbitMQ 整合使用
  18. 天嵌i.mx6q--2
  19. Cir 和 IBIS模型的使用
  20. 小马哥---高仿苹果7 7p已出现市场 图文鉴赏假机面目 警惕购买

热门文章

  1. 吴恩达深度学习2.1练习_Improving Deep Neural Networks_Gradient Checking
  2. Processing编程学习指南1.5 颜色透明度
  3. Error--解决使用Application Loader提交ipa包审核时的报错:ERROR ITMS-90168: The binary you uploaded was invalid....
  4. [SHELL] LAMP一键安装脚本设计(v2.1)
  5. Exchange2010 SP1部署边缘服务器
  6. 程序员疫苗:代码注入
  7. 限制Nagios报警次数
  8. 网线接法:交叉线、直通线的网线水晶头图解
  9. 使用VSCODE开发UE4
  10. PAT Basic 1012