Flink1.6系列之—Flink on yarn流程详解

Posted dreamfor123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flink1.6系列之—Flink on yarn流程详解相关的知识,希望对你有一定的参考价值。

 

本篇我们介绍下,Flink在YARN上运行流程:

 技术分享图片

 技术分享图片

技术分享图片

技术分享图片

 

  1. 当开始一个新的Flink yarn 会话时,客户端首先检查所请求的资源(containers和内存)是否可用。如果资源够用,之后,上传一个jar包,包含Flink和HDFS的配置。
  2. 客户端向yarn resource manager发送请求,申请一个yarn container去启动ApplicationMaster。
  3. yarn resource manager会在nodemanager上分配一个container,去启动ApplicationMaster
  4. yarn nodemanager会将配置文件和jar包下载到对应的container中,进行container容器的初始化。
  5. 初始化完成后,ApplicationMaster构建完成。ApplicationMaster会为TaskManagers生成新的Flink配置文件(使得TaskManagers根据配置文件去连接到JobManager),配置文件会上传到HDFS。
  6. ApplicationMaster开始为该Flink应用的TaskManagers分配containers,这个过程会从HDFS上下载jar和配置文件(此处的配置文件是AM修改过的,包含了JobManager的一些信息,比如说JobManager的地址)
  7. 一旦上面的步骤完成,Flink已经建立并准备好接受jobs。

注意事项:

  • 客户端:这里的客户端就是用户提交Flink应用的节点。
  • ApplicationMaster和JobManager运行同一个container中;因此ApplicationMaster,生成新的配置文件时,就知道JobManager的信息,比如说JobManager的地址。
  • AM:也就是ApplicationMaster。ApplicationMaster container还为Flink的web界面提供服务。
  • YARN中代码使用的端口都是临时的,这就使得用户可以并行执行多个FLink会话。

 

以上是关于Flink1.6系列之—Flink on yarn流程详解的主要内容,如果未能解决你的问题,请参考以下文章

Flink on Zeppelin 系列之:Yarn Application 模式支持

Flink on Yarn三部曲之三:提交Flink任务

Flink on Yarn三部曲之二:部署和设置

Flink on Yarn三部曲之二:部署和设置

Flink 实战系列Flink on yarn 为什么 Allocated CPU VCores 显示不正确?

Flink 实战系列Flink on yarn 为什么 Allocated CPU VCores 显示不正确?