码迷,mamicode.com
首页 > 其他好文 > 详细

实时计算storm流程架构总结

时间:2015-12-26 13:23:51      阅读:142      评论:0      收藏:0      [点我收藏+]

标签:

 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的组成见下图,

     技术分享

2、整体架构   

    技术分享

客户端提交拓扑到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管理的;后整个拓扑运行起来。

实时计算storm流程架构总结

标签:

原文地址:http://www.cnblogs.com/thinkpad/p/5077762.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!