Flink一般架构和处理模型

本文翻译自General Architecture and Process Model

---------------------------------------------------------------------

一、处理过程

当Flink系统启动时,首先启动JobManager和一至多个TaskManager。JobManager负责协调Flink系统,TaskManager则是执行并行程序的worker。当系统以本地形式启动时,一个JobManager和一个TaskManager会启动在同一个JVM中。

当一个程序被提交后,系统会创建一个Client来进行预处理,将程序转变成一个并行数据流的(parallel data flow)形式,交给JobManager和TaskManager执行。图1展示了在系统交互中各个组件的角色。

图1Flink运行时各组件关系

二、组件栈(Component Stack)

Flink以层级式系统形式组件其软件栈,不同层的栈建立在其下层基础上,并且各层接受程序不同层的抽象形式:

o   运行时层以JobGraph形式接收程序。JobGraph即为一个一般化的并行数据流图(data flow),它拥有任意数量的Task来接收和产生data stream

o   DataStream API和DataSet API都会使用单独编译的处理方式(Separate compilation process)生成JobGraph。DataSet API使用Optimizer来决定针对程序的优化方法,而DataStream API则使用stream builder来完成该任务。

o   在执行JobGraph时,Flink提供了多种候选部署方案(如local,remote,YARN等)

o   Flink附随了一些产生DataSet或DataStream API程序的的类库和API:处理逻辑表查询的Table,机器学习的FlinkML,图像处理的Gelly,事件处理的CEP

图2Flink组件栈

三、工程和依赖

Flink系统核心可分为多个子项目。分割项目旨在减少开发Flink程序需要的依赖数量,并对测试和开发小组件提供便捷。

独立的工程和依赖关系如图3所示

图3Flink子项目和依赖关系

此外,除了图3列出的项目,Flink当前还包括以下子项目:

o   Flink-dist:distribution项目。它定义了如何将编译后的代码、脚本和其他资源整合到最终可用的目录结构中。

o   Flink-quick-start:有关quickstart和教程的脚本、maven原型和示例程序

o   flink-contrib:一系列有用户开发的早起版本和有用的工具的项目。后期的代码主要由外部贡献者继续维护,被flink-contirb接受的代码的要求低于其他项目的要求。

时间: 2024-10-29 19:11:48

Flink一般架构和处理模型的相关文章

HBase的Write Ahead Log (WAL) —— 整体架构、线程模型【转】

转自:http://www.cnblogs.com/ohuang/p/5807543.html 解决的问题 HBase的Write Ahead Log (WAL)提供了一种高并发.持久化的日志保存与回放机制.每一个业务数据的写入操作(PUT / DELETE)执行前,都会记账在WAL中. 如果出现HBase服务器宕机,则可以从WAL中回放执行之前没有完成的操作. 本文主要探讨HBase的WAL机制,如何从线程模型.消息机制的层面上,解决这些问题: 1. 由于多个HBase客户端可以对某一台HBa

数据驱动安全架构升级---“花瓶”模型迎来V5.0(二)

数据驱动安全架构升级---"花瓶"模型迎来V5.0 Jackzhai 三."花瓶"模型V5. "花瓶"模型V5.0是从安全事件防护的角度,设计安全保障架构的.事前制定策略,部署防护措施,提高攻击门槛,阻断常规的入侵攻击:事中监控,动态检测渗透防护体系的入侵者,通过分析业务状态的异常,流量的异常,网络行为的异常,以及对各种恶意代码的检测,从多个角度展示安全态势与行为的关联分析,及时发现攻击者,并及时阻断攻击者的破坏行为:事后进行溯源.取证.合规性分

数据驱动安全架构升级---“花瓶”模型迎来V5.0(一)

数据驱动安全架构升级---"花瓶"模型迎来V5.0 Jackzhai 一.背景 近十年,可以说是网络技术大发展的十年,云计算.大数据.移动互联.物联网等新技术逐渐成熟,社交.电商.智慧城市-现实社会正在全面走进网络所构建的虚拟世界,网络正在成为人们吃穿一样不可或缺的"生活必需品". 随着网络承载的事务越来越丰富,面临的安全威胁也越来越多,发生网络安全问题的损失与波及的范围也在不断升级.总结起来有以下几个方面: 网络安全国家化:美国把网络与陆海空并列为国家主权领土四大

Flink系统架构

原文链接:一文弄懂Flink基础理论 Flink分布式程序包含2个主要的进程:JobManager和TaskManager.当程序运行时,不同的进程就会参与其中,包括Jobmanager.TaskManager和JobClient. 当 Flink 集群启动后,首先会启动一个 JobManger 和一个或多个的 TaskManager.由 Client 提交任务给 JobManager,JobManager 再调度任务到各个 TaskManager 去执行,然后 TaskManager 将心跳和

三层架构和MVC模型的常识

一.三层架构: 1.表现层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得. 2.业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理. 3.数据访问层(DAL):该层所做事务直接操作数据库,针对数据的增添.删除.修改.查找等. 优点 1.开发人员可以只关注整个结构中的其中某一层: 2.可以很容易的用新的实现来替换原有层次的实现: 3.可以降低层与层之间的依赖: 4.有利于标准化: 5.利于各层逻辑的复用. 6.结构更加的明确 7.在

【架构】MVP模型

MVP模型一般要创建三个文件夹:View.Interactor(Model).Presenter 每个部分都有其接口和实现类,就是为了方便回调 这里做一个登陆界面为例子: 接口: InteractorInterface: public interface LoginInteractor { void login(String userName,String password,OnLoginFinishedListener listener); } PresenterInterface publi

Flink BLOB架构

Flink中支持的BLOB文件类型 jar包 被user classloader使用的jar包 高负荷RPC消息 1. RPC消息长度超出了akka.framesize的大小 2. 在HA摸式中,利用底层分布式文件系统分发单个高负荷RPC消息,比如: TaskDeploymentDescriptor,给多个接受对象. 3. 失败导致重新部署过程中复用RPC消息 TaskManager的日志文件 为了在web ui上展示taskmanager的日志 按存储特性又分为两类 PERMANENT_BLO

备份全网服务器数据生产架构方案案例模型

某公司里有一台web服务器,里面的数据很重要,但是始果硬盘坏了,数据就会丢失,现在领导要求你把数据在其他机器上做一个周期性定时备份,要求如下: 每天晚上00点整在web服务器A上打包备份网站程序目录并通过rsync命令推送到服务器B上备份保留(备份思路可以是先在本地按日期打包,然后再推送到备份服务器上) 具体要求如下: 1)       web服务器A和备份服务器B的备份目录必须都为/backup 2)       web服务器站点目录假定为(/var/www/html) 解答: 操作系统 主机

spark架构设计&编程模型01

RDD操作例子: RDD的依赖和运行时 深入RDD: 另一种Partitioner是RangePartitioner: 以NewHadoopRDD为例,其诶不的信息如下所示: 以WholeTextFileRDD为例,其内部的信息如下: