当前位置: 首页 > wzjs >正文

网站加背景音乐国内最新新闻大事

网站加背景音乐,国内最新新闻大事,江苏省政府门户网站建设,世界互联网峰会马云开一个新坑,系统性的学习下 Flink,计划从整体架构到核心概念再到调优方法,最后是相关源码的阅读。 今天就来学习 Flink 整体架构,我们先看官网的架构图图中包含三部分,分别是 Client、JobManager 和 TaskManager。其中…

开一个新坑,系统性的学习下 Flink,计划从整体架构到核心概念再到调优方法,最后是相关源码的阅读。

今天就来学习 Flink 整体架构,我们先看官网的架构图

Flink Architecture

图中包含三部分,分别是 Client、JobManager 和 TaskManager。其中 Client 并不属于 Flink 集群,它主要用来把用户编写的程序翻译成 StreamGraph 然后优化成 JobGraph,再将 JobGraph 提交到 Flink 集群执行。

JobManager

Flink 集群的 JobManager 是用来接收 Client 提交的任务,并且分发给 TaskManager 去执行。此外,JobManager 还有一些其他的职责,例如任务调度,协调 checkpoint 和协调从失败中恢复。

每个 Flink 集群至少要有一个 JobManager,但在生产环境中通常是高可用模式部署,即部署多台 JobManager,其中一台作为 Leader,其他的作为 Standby 节点。当 Leader 挂掉时,其他的 Standby 节点会有一台被选举为新的 Leader 提供服务。这样就能避免 JobManager 单机故障影响到整个 Flink 集群的可用性。

JobManager 主要由以下几部分组成,下面我们分别来看每部分的作用。

JobManager

DataFlow Graph

JobManager 收到 JobGraph 之后,根据并行度的设置,将各个算子任务拆分成并行的子任务,最终生成 ExecutionGraph。

Checkpoint coordinator

Checkpoint 是 Flink 最核心的概念之一,Flink 的容错机制主要靠 checkpoint 来保障。而 checkpoint 的生成会恢复则由 checkpoint coordinator 来负责。

Job Dispatch

Job Dispatch 提供了 REST 接口用于提交 Flink 任务,并为每个任务启动一个 JobMaster。JobMaster 负责管理单个 JobGraph 的执行。

Task Scheduling

Task Scheduling 负责 Task 部署和调度,值得一提的是,JobManager 和 TaskManager 以及 Client 之间的通信都是通过一个叫 Actor System 的 RPC 系统实现的。

Resource Manager

Resource Manager 负责集群中的资源的分配回收,它管理的资源单元叫做 task slot,对于不同的部署环境,Resource Manager 有不同的实现,

Actor System

Actor System 是 Flink 集群中的一种 RPC 通信的组件,JobManager 和 TaskManager 以及 Client 之间的通信都是基于 Actor System 的。而 TaskManager 之间的数据传递是基于 Netty 的。

TaskManager

聊完了 JobManager,我们再来看下 TaskManager 的结构。TaskManager 主要负责执行作业的 task,并缓存和交换数据流。TaskManager 中最小的资源调度单位是 task slot,这点在前面介绍 Resource Manager 时也提到过。它表示并发处理 task 的数量。

TaskManager

Task Execution

TaskManager 在接到 JobManager 部署的任务后,就会申请相应的 task slot 去执行任务。

Data Exchange

Data Execution 主要负责 TaskManager 之间的数据交互的一些操作,这里主要关注逻辑层面,例如一些 shuffle 操作。而网络传输则主要是由 Network Manager 来实现。

Memory Management

Memory Management 负责 TaskManager 的内存管理,在执行任务过程中,接收到的一些数据是需要放在内存中进行处理的。相应的内存管理操作依赖于 Memory Management 模块。

Actor System

Actor System 我们在前面提到过,TaskManager 和 JobManager 之间的通信全靠它。

Network Manager

Network Manager 主要负责 TaskManager 之间的数据交互,它是基于 Netty 实现的。

最后多提一个 Graph 的概念,前面我们已经了解到了 JobManager 会将 JobGraph 根据并行度的配置转换成 ExecutionGraph。在这之后,JobManager 会对作业进行调度,将 task 部署到各个 TaskManager 上,最终就形成了物理执行图,也就是 PhysicalGraph。

这里小结一下,Flink 中四种图的生成顺序是:用户编写的代码生成 StreamGraph,Client 将其进行优化,主要是将多个符合条件的节点 chain 在一起,生成了 JobGraph,然后将 JobGraph 提交到 JobManager,再由 JobManager 生成并行版本的 ExecutionGraph,待JobManager 将 task 调度后,生成的图被称为 PhysicalGraph。

Flink 的几种部署模式

根据集群的生命周期、资源隔离以及 main() 方法的执行,通常将 Flink 的部署模式分为三种:Session Mode、Per-Job Mode 和 Application Mode。下面我们分别介绍这三种部署模式。

Session Mode

Session Mode 下,所有的任务共享 JobManager 和 TaskManager,JobManager 的生命周期不受提交的 Job 影响,会长期运行。

SessionMode

Per-Job Mode

Per-Job Mode 下,每个任务独享 JobManager 和 TaskManager,资源充分隔离。JobManager 的生命周期和 Job 的生命周期绑定。

PerJobMode

Application Mode

Application Mode 下,每个 Application 对应一个 JobManager,且可以运行多个作业。客户端无需将依赖包上传到 JobManager,只负责提交作业,减轻了客户端的压力。提交作业后,JobManager 主动从 HDFS 拉取依赖包。

ApplicationMode

三种模式的对比
SessionPer-JobApplication
优点1、资源充分共享,提升资源利用率
2、作业集中管理,运维简单
1、资源充分隔离
2、每个作业的 TM Slots 可以不同
1、有效降低带宽和客户端负载
2、Application 之间实现资源隔离,Application 中的资源共享
缺点1、资源隔离差
2、TM 不易扩展,伸缩性差
1、资源浪费1、仅支持 Yarn 和 Kubunetes (个人感觉够用了)

总结

最后来总结一下,今天主要学习了 Flink 的整体架构和三种部署模式。

1、Flink 的集群架构上主要包含 JobManager 和 TaskManager,其中 JobManager 主要负责一些作业调度和资源协调的工作,TaskManager 则主要负责执行任务。

2、Flink 的部署模式分为 Session、Per-Job 和 Application 三种,Session 模式是所有 Job 共享 JobManager 和 TaskManager,Per-Job 则是作业独享的,而 Application 模式则是在 Application 中共享 JobManager。

http://www.dtcms.com/wzjs/153255.html

相关文章:

  • 教育局网站建设网站seo优化心得
  • 天津网站建设zmweb高端营销型网站制作
  • 代做课件的网站网站推广及seo方案
  • 开公司如何做网站推广百度客服人工服务
  • 广告设计网址神马快速排名优化工具
  • 入驻天猫店需要什么条件天津企业seo
  • 上海网站设计公司网络营销网站推广
  • 做网站的windowlcd纯手工seo公司
  • 网站建设款属不属于无形资产搜索网站关键词
  • 做内部网站cms手机优化助手
  • 个人网站备案 资料长沙网站优化推广
  • 昆山建站公司爱站网关键词查询网站
  • 网站建设后期服务关键词优化推广排名软件
  • 哪里做网站seo免费推广网站2023mmm
  • 桐庐住房和城乡建设局网站网页优化seo广州
  • 网站太花哨台州seo排名公司
  • 天津公司网站怎样制作百度seo排名优化软件
  • 做网站需要知道的问题互联网优化是什么意思
  • jsp做视频网站专业的google推广公司
  • 中国风 网站模板nba哈登最新消息
  • 长春火车站最新消息建设网站制作公司
  • 网站后台更新怎么做seo教程下载
  • 做网站的费用是多少钱网址申请注册
  • 建设企业网站的原因优化公司治理结构
  • 网站管理运营上海广告公司
  • 资阳做网站自建站模板
  • 功能类网站温州网站建设
  • 成都有哪些网站建设的公司天津seo排名效果好
  • 网站建设职责杭州做百度推广的公司
  • 网站后台上传word西安seo顾问