zoukankan      html  css  js  c++  java
  • Flink 源码(四):Flink 环境准备及提交流程(一)程序起点与创建 Yarn 客户端应用程序

    0 简介

    Yarn-per-job模式提交流程 总图

    1 程序起点

    1)flinkinflink
        => exec  $JAVA_RUN  $JVM_ARGS  "${log_setting[@]}"  -classpath  "`manglePathList "$CC_CLASSPATH:$INTERNAL_HADOOP_CLASSPATHS"`"
    org.apache.flink.client.cli.CliFrontend "$@"
    2)flink/bin/config.sh(相关环境配置都在这里)
      => JAVA_RUN=java
      => JVM_ARGS=""  => # Use conf/flink-conf.yaml
      =>INTERNAL_HADOOP_CLASSPATHS="${HADOOP_CLASSPATH}:${HADOOP_CONF_DIR}:${YARN_CONF_DIR}"
    3)执行 java -cp 就会开启 JVM 虚拟机,在虚拟机上开启 CliFrontend 进程,然后开始执行main 方法
      说明:java -cp 和 -classpath 一样,是指定类运行所依赖其他类的路径。
      java -cp =》开启 JVM 虚拟机 =》开启 Process(CliFrontend)=》程序入口 CliFrontend.main
    4)Flink 提交任务的入口类为 CliFrontend。找到这个类的 main 方法:
      在 IDEA 中全局查找(ctrl + n):org.apache.flink.client.cli.CliFrontend,找到 CliFrontend类,并找到 main 方法

    2 创建 Yarn 客户端应用程序

    2.1 程序入口

    CliFrontend.java 

     

     

     

    2.2 解析输入参数

    CliFrontend.java 

     

     

    DefaultParser.java
    DefaultParser.java 

     

     

     

     

    各种情况的解析,逻辑大体相同:去除-或--前缀,校验参数,以其中一个为例
    Options.java:

     

    DefaultParser.java
  • 相关阅读:
    [HDOJ4788]Hard Disk Drive(水题)
    [HDOJ4782]Beautiful Soup(模拟)
    [HDOJ3652]B-Number(数位dp)
    [CF55D]Beautiful numbers(数位dp,状态压缩)
    [HDOJ3555]Bomb(数位DP)
    [HDOJ2089]不要62(数位DP)
    [HDOJ5881] Tea(找规律)
    [HDOJ5900]QSC and Master(区间dp)
    [HDOJ5878]I Count Two Three(暴力枚举,二分)
    [HDOJ5879]Cure(求极限,打表)
  • 原文地址:https://www.cnblogs.com/qiu-hua/p/14472233.html
Copyright © 2011-2022 走看看