大数据技术基础及应用(微课版)课件 第5章 Storm分布式流计算引擎_第1页
大数据技术基础及应用(微课版)课件 第5章 Storm分布式流计算引擎_第2页
大数据技术基础及应用(微课版)课件 第5章 Storm分布式流计算引擎_第3页
大数据技术基础及应用(微课版)课件 第5章 Storm分布式流计算引擎_第4页
大数据技术基础及应用(微课版)课件 第5章 Storm分布式流计算引擎_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

配色色系表RGB255/187/87RGB250/211/187RGB254/238/193RGB226/243/252RGB190/233/238RGB

153/54/54RGB

242/137/68RGB

253/211/81RGB

129/193/95RGB

86/196/210RGB

127/0/1RGB

237/109/0RGB

52/200/0RGB

98/178/48RGB

48/181/197RGB137/137/137RGB255/255/255RGB89/87/87RGB221/221/221RGB

35/24/21RGB181/181/181第5章Storm分布式流计算引擎本章主要讲述Storm实时流计算引擎的基本技术原理通过学习本节将能够学习Storm实时流计算引擎的基本技术原理。通过本节学习可以掌握:Storm基本概念Storm系统架构和执行流程Storm系统特性Storm消息可靠性Storm基本概念Storm系统架构和执行流程Storm系统特性Storm消息可靠性Storm是一个分布式、实时计算框架。具有以下几种特点:实时响应,低延迟;数据不存储,先计算;连续查询;事件驱动。Storm中分为了业务进程和数据进程,其中业务逻辑进程有以下几种:Topology是Storm中运行的一个实时应用程序Nimbus负责资源分配和任务调度Supervisor负责接受Nimbus分配的任务,启动和停止属于自己管理的worker进程Worker是Topology运行时的物理进程。每个Worker是一个JVM进程ZooKeeper为Storm服务中各进程提供分布式协作服务Storm概述Task:运行了Worker中的每一个Spout/Bolt的线程。Storm的数据进程有以下几种:Spout:在一个Topology中产生源数据流的组件,是数据输入进程。Bolt:在一个Topology中接受数据然后执行处理的组件,是数据输出进程。Tuple:Storm的核心数据结构,是消息传递的基本单元,不可变Key-Value对,这些Tuple会以一种分布式的方式进行创建和处理。Tuple指代为Storm每次收到的一个数据或一组数据,它是数据处理的基本单位。Stream:一个无边界的连续Tuple序列,也叫作流。是由多个连续tuple组成的一个带有顺序性的序列,其遵循先进先出的原则。执行输入计算和输出。Storm的逻辑进程Storm基本概念Storm系统架构和执行流程Storm系统特性Storm消息可靠性用户提交topology给Client,Client收到请求之后,解压执行jar包,然后将topology发送给Nimbus。Nimbus收到之后,会将JVM进程做分解,并且同时分配jobID,保证应用唯一性。Nimbus将JVM进程中需要执行的操作的摘要信息发送给Zookeeper。摘要信息中主要包含的是任务的信息和jar包的名称Storm执行流程zookeeper根据集群的综合负载,下发任务给Supervisor。Supervisor收到zookeeper下发的任务之后,会联系Nimbus下载对应的任务的jar包。Supervisor会解压jar包,创建worker进程,。worker启动之后,会将执行的任务封装为task,然后要求Supervisor封装executor。然后将task下发到executor中执行。Storm执行流程executor完成计算之后,会将结果返回给worker,worker整合结果之后返回给Supervisor,然后返回给Nimbus,Nimbus整合结果,反馈给Client。executor和worker会自我注销。(一般来说,Storm都是下发计算方法,然后一直持续运行的,如果想要不进行计算,就必须人为手工关闭进程,这时候,executor和worker才会做自我注销操作。)Storm执行流程一旦在执行的过程中出现问题,由于本身executor需要周期性的上报心跳,所以一旦executor出现问题,zookeeper就会及时获取,并且反馈信息给Supervisor,要求其重新启动worker或者是重新启动某一个task。Supervisor一旦出现故障,那么Zookeeper会直接要求其他的Supervisor执行未执行完成的任务Nimbus采用主备进程,一旦主Nimbus出现故障,我们可以进行及时的故障切换操作。Storm执行流程Storm基本概念Storm系统架构和执行流程Storm系统特性Storm消息可靠性Nimbus-HA数据可靠性Storm基本概念Storm系统架构和执行流程Storm系统特性Storm消息可靠性acker的工作流程如下所示:Spout创建一个新的Tuple时,会发一个消息通知acker去跟踪。Bolt在处理Tuple成功或失败后,也会发一个消息通知acker。acker会找到发射该Tuple的Spout,回调其ack或fail方法。在Storm里面一个tuple被完全处理的意思是:这个tuple以及由这个tuple所派生的所有的tuple都被成功处理。如果这个消息在Timeout所指定的时间内没有成功处理,这个tuple就被认为处理失败了。ACK机制在Storm中,消息可靠性是一种保证机制,主要是用于保证在计算的过程中对计算的准确性进行保证,Storm本身要求的是低延迟处理,那么在这种情况下,我们还需要保证整体处理的准确。我们提出了3种方式来对数据的计算准确性进行保证。ACK机制可靠级别处理机制说明最多一次无吞吐量最大,适用于消息可靠性较低的场景。最少一次Ack机制吞吐量较低,要求数据被完整处理,适用于消息可靠性要求高的场景。精确一次TridentTrident是Streaming提供的特殊的事务性API,吞吐量最低。最多一次:就是在整个数据输入到输出的阶段中,我们只需要进行最多一次准确性确认。一般来说,做准确性确认需要消耗系统的相关资源。那么最多一次确认消耗的开销最小,这样的话就可以保证在海量数据计算的情况下,尽可能多的节省资源最少一次:就是在整个数据输入到输出的阶段中,我们必须至少指定一次准确性确认,一般来说,最少一次的确认机制,都不会等于1次的,那么这样的话,确认机制就会消耗比较多的资源,那么计算可以消耗的资源就会减少,那么计算处理的数据量一般就不会很大。精确一次:精确一次就是通过程序调用API接口,进行精细化的确认,但是精细化的确认消耗的资源也是最大的。所以整体来说,精确一次的话,计算所能处理的资源也就最少。ACK机制Spout发送一个Tuple时,会通知Acker一个新的根消息产生了,Acker会创建一个新的tupletree,并初始化校验和为0。Bolt发送消息时向Acker发送anchortuple,刷新tupletree,并在发送成功后向Acker反馈结果。如果成功则重新刷新校验和,如果失败则Acker会立即通知

Spout处理失败。当tupletree被完全处理(校验和为0),Acker会通知Spout处理成功ACK机制请简述Storm的特点?请简述Storm的Nimbus的作用?请简述StormNimbus机制的原理?请简述ACK机制的优势?

以下哪个不是Storm的计算特点?实时响应低延迟事件驱动离线计算2.以下哪个不是Zookeeper在Storm中的执行作用?A. 监控执行B. 保证数据安全C. 下发ApplicationD. 分配任务

描述了Storm基本概念讲解了Storm系统架构和执行流程讲解了Storm系统特性讲解了Storm消息可靠性学习推荐华为在线学

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论