欢迎来到第一文库网! | 帮助中心 第一文库网-每个人都是第一
第一文库网
全部分类
  • 研究报告>
  • 学术论文>
  • 全科教育>
  • 应用文档>
  • 行业资料>
  • 企业管理>
  • 技术资料>
  • 生活休闲>
  • ImageVerifierCode 换一换
    首页 第一文库网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    终于有人把Flink设计理念与基本架构讲明白了.docx

    • 资源ID:138832       资源大小:501.89KB        全文页数:9页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录 微博登录
    二维码
    扫码关注公众号登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    终于有人把Flink设计理念与基本架构讲明白了.docx

    Hadoop MapReduce 和终于有人把Flink设计理念与基本架构讲明白了导读:本文从设计理念的角度将Flink与主流计算引擎Spark进行对比,并从宏观上介绍Flink的基本架构。OlFlink与主流计算引擎对比1. Hadoop MapReduceMapReduce 是由谷歌首次在论文"MapReduce: Simplified Data Processingon Large Clusters"(谷歌大数据三驾马车之一)中提出的,是一种处理和生成大数据的编程模型。Hadoop M叩Reduce借鉴了谷歌这篇论文的思想,将大的任务分拆成较小的任务后进行处理,因此拥有更好的扩展性。如图1所示,HadoopMapReduce包括两个阶段一Map和Reduce : Map阶段将数据映射为键值对(key/value ) , map 函数在 Hadoop 中用 Mapper 类表示;Reduce 阶段使用shuffle后的键值对数据,并使用自身提供的算法对其进行处理,得到输出结果,reduce函数在Hadoop中用Reducer类表示。其中shuffle阶段对M叩Reduce模式开发人员透明。Part-1Part-mHDFS图 1 Hadoop MapReduce 处理模型Hadoop MR1通过JobTracker进程来管理作业的调度和资源,TaskTracker进程负责作业的实际执行,通过Slot来划分资源(CPU、内存等),Hadoop MR1存在资源利用率低的问题。Hadoop MR2为了解决MR1存在的问题,对作业的调度与资源进行了升级改造,将JobTracker变成YARN ,提升了资源的利用率。其中 z YARN 的 ResourceManager 负责资源的管理,ApplicationMaster 负责任务的调度。YARN支持可插拔 不但支持Hadoop MapReduce还支持Spark.Flink、Storm等计算框架。Hadoop MR2解决了 Hadoop MR1的一些问题,但是其对HDFS的频繁I/O操作会导致系统无法达到低延迟的要求,因而它只适合离线大数据的处理,不能满足实时计算的要求。2. SparkSpark是由加州大学伯克利分校开源的类Hadoop MapReduce的大数据处理框架。与Hadoop MapReduce相比,它最大的不同是将计算中间的结果存储于内存中,而不需要存储到HDFS中。Spark的基本数据模型为RDD ( Resilient Distributed Dataset ,弹性分布式数据集)。RDD是一个不可改变的分布式集合对象,由许多分区(partition )组成,每个分区包含RDD的一部分数据,且每个分区可以在不同的节点上存储和计算。在Spark中,所有的计算都是通过RDD的创建和转换来完成的。分批处理后的数据Spark Streaming是在Spark Core的基础上扩展而来的,用于支持实时流式数据的处理。如图2所示,Spark Streaming对流入的数据进行分批、转换和输出。微批处理无法满足低延迟的要求,只能算是近实时计算。输入的数据流分批的输入流Spark Streaming 口口二图2 Spark Streaming处理模型Structured Streaming是基于Streaming SQL引擎的可扩展和容错的流式计算引擎。如图3所示structured Streaming将流式的数据整体看成一张无界表,将每一条流入的数据看成无界的输入表,对输入进行处理会生成结果表。生成结果表可以通过触发器来触发,目前支持的触发器都是定时触发的,整个处理类似Spark Streaming的微批处理;从Spark 2.3开始引入持续处理。持续处理是一种新的、处于实验状态的流式处理模型,它在Structured Streaming的基础上支持持续触发来实现低延迟。DataStream无界表图 3 Structured Streaming 处理模型3. FlinkFlink是对有界数据和无界数据进行有状态计算的分布式引擎,它是纯流式处理模式。流入Flink的数据会经过预定的DAG ( Directed Acyclic Graph ,有向无环图)节点,Flink会对这些数据进行有状态计算,整个计算过程类似于管道。每个计算节点会有本地存储,用来存储计算状态,而计算节点中的状态会在一定时间内持久化到分布式存储,来保证流的容错,如图4所示。这种纯流式模式保证了Flink的低延迟,使其在诸多的实时计算引擎竞争中具有优势。无界/有界输入数需持久化存储输出数裾图4 Flink流式处理模型02Flink基本架构F面从分层角度和运行时角度来介绍Flink基本架构。其中,对于运行时Flink架构,会以L5版本为分界线对前后版本的架构变更进行介绍。1 .分层架构Flink是分层架构的分布式计算引擎,每层的实现依赖下层提供的服务,同时提供抽象的接口和服务供上层使用。整体分层架构如图5所示。API & LibraryAPI核心部署方式CEPTableFlinkMLGeliy :TableDataStreamDataSet运行时本地部署集群部署 云上部署图5 Flink分层架构部署:Flink支持本地运行,支持Standalone集群以及YARN、MesosxKubernetes管理的集群,还支持在云上运行。核心:Flink的运行时是整个引擎的核心,是分布式数据流的实现部分,实现了运行时组件之间的通信及组件的高可用等。API :Datastream提供流式计算的API , DataSet提供批处理的APITable和SQL AP提供对Flink流式计算和批处理的SQL的支持。Library :在Library层,Flink提供了复杂事件处理(CEP )、图计算(Geliy )及机器学习库。2 .运行时架构Flink运行时架构经历过一次不小的演变。在Flink 1.5版本之前,运行时架构如图6所不。(Wodcer)TaskManager任务Slot 任务Slot 任务Stot(Worker)TaskManager任务Slot 任务SkX 任务Slot内存与I/O网修管理ActorSystem部署/取消/停止任务下发触发检查点的标志(Master)图6 Flink 1.5以前版本的运行时架构Client负责编译提交的作业,生成DAG ,并向JobManager提交作业,往JobManager发送操作作业的命令。JobManager作为Flink引擎的Master角色,主要有两个功能:作业调度和检查点协调。TaskManager为Flink引擎的 Worker角色,是作业实际执行的地方。TaskManager通过Slot对其资源进行逻辑分割,以确定TaskManager运行的任务数量。从Flink 1.5开始,Flink运行时有两种模式,分别是Session模式和Per-Job模式。Session模式:在Flink 1.5之前都是Session模式,1.5及之后的版本与之前不同的是引入了 Dispatcher. Dispatcher负责接收作业提交和持久化,生成多个JobManager和维护Session的一些状态,如图7所示。(Worker)(Worker)DataStreamTaskExecutof > TaskExecutor(Master)图7 Session模式Per-Job模式:该模式启动后只会运行一个作业,且集群的生命周期与作业的生命周期息息相关,而Session模式可以有多个作业运行、多个作业共享TaskManager资源,如图8所示。客户摘图8 Per-Job模式关于作者:罗江宇,赵士杰,李涵淼,闵文俊,四位作者都是非常资深的Flink专家,部分作者是Flink源代码的维护者和改造者。

    注意事项

    本文(终于有人把Flink设计理念与基本架构讲明白了.docx)为本站会员(lao****ou)主动上传,第一文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知第一文库网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 001doc.com网站版权所有   

    经营许可证编号:宁ICP备2022001085号

    本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有,必要时第一文库网拥有上传用户文档的转载和下载权。第一文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第一文库网,我们立即给予删除!



    收起
    展开