zoukankan      html  css  js  c++  java
  • 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会话。
  • 相关阅读:
    QSetting介绍
    Qt读写三种文件,QSettings读ini配置文件,QJsonDocument读JSON文件,QDomDocument读xml文件
    __try __except与__try __finally的嵌套使用以及__finally的调用时机
    获取指定长度的随机字符串
    python获取指定长度的字符串
    手动输入验证码
    python获取时间戳
    headers的描述
    使用协程(gevent)实现请求
    识别简单验证码并进行提交
  • 原文地址:https://www.cnblogs.com/dreamfor123/p/9545539.html
Copyright © 2011-2022 走看看