storm (imooc)

作者: analanxingde | 来源:发表于2017-06-21 17:31 被阅读86次

分布式系统

当数据量大,且增长量很快时,把一个任务分给多个计算机去共同完成的计算机系统叫分布式系统。对外屏蔽多机的细节,只留一个对外接口

批处理(Hadoop)与流处理(storm)

Storm原理

Storm是一套分布式的、可靠的,可容错的用于处理流式数据的系统。处理工作会被委派给不同类型的组件,每个组件负责一项简单的、特定的处理任务。Storm集群的输入流由名为spout的组件负责。Spout将数据传递给名为bolt的组件,后者将以某种方式处理这些数据。例如bolt以某种存储方式持久化这些数据,或者将它们传递给另外的bolt。你可以把一个storm集群想象成一条由bolt组件组成的链,每个bolt对spout暴露出来的数据做某种方式的处理。

storm 组件

结构:主从结构

Paste_Image.png

主从结构:简单,高效,但主节点存在单点问题
对称结构:复杂,效率较低,但是不存在单点问题,更加可靠
Nimbus:主节点,分配任务不具体干活,挂掉重启即可,只要运算节点没问题就不影响大局;
Supervisor:从节点,管理干活的worker,没有数据计算和传输。

DRPC:完成分布式的RPC,DRPC提供了集群中处理功能的访问接口.

storm作业运行过程

技术架构

在storm集群中,结点被一个持续运行的主结点管理。

Storm集群中有两种结点:主结点和工作结点。主结点运行一个叫做Nimbus的守护进程,它负责在集群内分发代码,为每个工作结点指派任务和监控失败的任务,这个很类似于Hadoop中的Job Tracker。工作结点运行一个叫做Supervisor的守护进程,每个工作节点都是topology中一个子集的实现。Storm中的topology运行在不同机器的许多工作结点上。

zookeeper是完成nimbus和supervisor之间协调的服务。

关键组件

  • **Topology(拓扑) **:storm中运行的一个实时应用程序,因为各个组件间的消息流动形成逻辑上的一个拓扑结构。 Topolog是y一组由Spouts(数据源)和Bolts(数据操作)通过Stream Groupings进行连接组成的图。
  • ** Spout** :从来源处读取数据并放入topology。Spout分成可靠和不可靠两种;当Storm接收失败时,可靠的Spout会对tuple(元组,数据项组成的列表)进行重发;而不可靠的Spout不会考虑接收成功与否只发射一次。而Spout中最主要的方法就是nextTuple(),该方法会发射一个新的tuple到topology,如果没有新tuple发射则会简单的返回。
  • ** Bolt** :Topology中所有的处理都由Bolt完成。Bolt可以完成任何事,比如:连接的过滤、聚合、访问文件、数据库等等。Bolt从Spout中接收数据并进行处理,如果遇到复杂流的处理也可能将tuple发送给另一个Bolt进行处理。而Bolt中最重要的方法是execute(),以新的tuple作为参数接收。不管是Spout还是Bolt,如果将tuple发射成多个流,这些流都可以通过declareStream()来声明。

消息

1.Tuple:一次消息传递的基本单元。本来应该是一个key-value的map,但是由于各个组件间传递的tuple的字段名称已经事先定义好,所以tuple中只要按序填入各个value就行了,所以就是一个value list.

2.Stream:以tuple为单位组成的一条有向无界的数据流。

相关文章

  • storm (imooc)

    分布式系统 当数据量大,且增长量很快时,把一个任务分给多个计算机去共同完成的计算机系统叫分布式系统。对外屏蔽多机的...

  • Storm入门

    Storm 基本介绍 什么是 Storm 首先Storm是Apache顶级项目之一Storm 官网 Storm 是...

  • imooc movie

    node+mongodb 建站攻略(一期) 用的都是我熟悉的技术,看了别人的开发过程,自己也学到了一些新的知识 生...

  • java大数据之storm

    一、Storm简介 1.1 Storm是什么 Apache Storm(http://storm.apache.o...

  • Apache Storm

    Apache Storm Apache Storm Use Cases Real Time Storm Proje...

  • Storm 性能优化

    目录 场景假设 调优步骤和方法 Storm 的部分特性 Storm 并行度 Storm 消息机制 Storm UI...

  • Storm(三) storm-starter

    原文链接storm-starter storm-starter就是Storm工程里边一个专门用来学习使用Storm...

  • storm 启动 uimbus ui supervisor卡死解

    storm uimbus执行以后,卡死,jps中有nimbus,如下图 storm ui 、storm super...

  • Storm集群搭建

    Storm集群搭建 1、下载StormApache官方下载Storm链接为:http://storm.apache...

  • Apache Storm Trident

    Apache Storm Trident Trident是Storm的延伸。像Storm,Trident也是由Tw...

网友评论

    本文标题:storm (imooc)

    本文链接:https://www.haomeiwen.com/subject/ilktcxtx.html