实时计算storm流程架构总结
2015-08-23 10:54
483 查看
hadoop一般用在离线的分析计算中,而storm区别于hadoop,用在实时的流式计算中,被广泛用来进行实时日志处理、实时统计、实时风控等场景,当然也可以用在对数据进行实时初步的加工,存储到分布式数据库中如HBase,便于后续的查询。
面对的大批量的数据的实时计算,storm实现了一个可扩展的、低延迟、可靠性和容错的分布式计算平台。
1、对象介绍
tuple:表示流中一个基本的处理单元,可以包括多个field,每个filed表示一个属性
topology:一个拓扑是一个个计算节点组成的图,每个节点包换处理的逻辑,节点之间的连线表示数据流动的方向
spout:表示一个流的源头,产生tuple
bolt:处理输入流并产生多个输出流,可以做简单的数据转换计算,复杂的流处理一般需要经过多个bolt进行处理
nimnus:主控节点,负责在集群中发布代码,分配工作给机器,并且监听状态
supervisor:一个机器,工作节点,会监听分配给的工作,根据需要启动和关闭工作进程。
woker:执行topology的工作进程,用于生成task
task:每个spout和bolt都可以作为task在storm中运行,一个task对应一个线程
storm拓扑topology的组成见下图,
![](http://img.my.csdn.net/uploads/201301/13/1358054803_2744.jpg)
2、整体架构
![](http://img.my.csdn.net/uploads/201301/13/1358052529_7096.jpg)
客户端提交拓扑到nimbus。
Nimbus针对该拓扑建立本地的目录根据topology的配置计算task,分配task,在zookeeper上建立assignments节点存储task和supervisor机器节点中woker的对应关系;
在zookeeper上创建taskbeats节点来监控task的心跳;启动topology。
Supervisor去zookeeper上获取分配的tasks,启动多个woker进行,每个woker生成task,一个task一个线程;根据topology信息初始化建立task之间的连接;Task和Task之间是通过zeroMQ管理的;后整个拓扑运行起来。
上述只是介绍了storn的整个工作流程,当然storm在可靠性、容错性等方面考虑的比较全面,这后续再补充。
面对的大批量的数据的实时计算,storm实现了一个可扩展的、低延迟、可靠性和容错的分布式计算平台。
1、对象介绍
tuple:表示流中一个基本的处理单元,可以包括多个field,每个filed表示一个属性
topology:一个拓扑是一个个计算节点组成的图,每个节点包换处理的逻辑,节点之间的连线表示数据流动的方向
spout:表示一个流的源头,产生tuple
bolt:处理输入流并产生多个输出流,可以做简单的数据转换计算,复杂的流处理一般需要经过多个bolt进行处理
nimnus:主控节点,负责在集群中发布代码,分配工作给机器,并且监听状态
supervisor:一个机器,工作节点,会监听分配给的工作,根据需要启动和关闭工作进程。
woker:执行topology的工作进程,用于生成task
task:每个spout和bolt都可以作为task在storm中运行,一个task对应一个线程
storm拓扑topology的组成见下图,
![](http://img.my.csdn.net/uploads/201301/13/1358054803_2744.jpg)
2、整体架构
![](http://img.my.csdn.net/uploads/201301/13/1358052529_7096.jpg)
客户端提交拓扑到nimbus。
Nimbus针对该拓扑建立本地的目录根据topology的配置计算task,分配task,在zookeeper上建立assignments节点存储task和supervisor机器节点中woker的对应关系;
在zookeeper上创建taskbeats节点来监控task的心跳;启动topology。
Supervisor去zookeeper上获取分配的tasks,启动多个woker进行,每个woker生成task,一个task一个线程;根据topology信息初始化建立task之间的连接;Task和Task之间是通过zeroMQ管理的;后整个拓扑运行起来。
上述只是介绍了storn的整个工作流程,当然storm在可靠性、容错性等方面考虑的比较全面,这后续再补充。
相关文章推荐
- WordPress网站设置搜索引擎关键词和描述
- 利用HTML5的一个重要特性 —— DeviceOrientation来实现手机网站上的摇一摇功能
- Linux系统目录架构
- RESTful架构
- 论软件的模块化与架构
- 第91讲:Akka第一个案例动手实战架构设计
- 为什么有些网站前面不加 WWW?
- HBase 简介以及个人理解(原理,基本概念,基本架构)
- 一个人如何完成一整个网站的开发(推荐好文,看完绝对让你回味无穷)
- Nutanix超融合架构概述
- 一个百万级PHP站点的网站架构
- Atitit.故障排除系列---php 计划网站数据库错误排除过程
- 【裤子】国外婚外恋网站被黑 3600万会员中有180万日本人
- 浅谈web应用的负载均衡、集群、高可用(HA)解决方案
- RESTFul架构详解
- Android - Flux架构
- 三层架构
- 架构设计:负载均衡层设计方案(5)——LVS单节点安装
- Intel Nehalem架构核心技术学习
- 网站的脉络梳理