前置:
YARN客户端需要访问Hadoop的配置文件,从而能够连接到YARN资源管理器和HDFS。主要使用以下方式确定Hadoop的配置文件:
测试是否按顺序配置了YARN_CONF_DIR,HADOOP_CONF_DIR或HADOOP_CONF_PATH。如果配置了其中一个变量,则会读取该配置文件。
如果上述方式失败(在正确的YARN设置中不应该这样),则客户端会使用HADOOP_HOME环境变量。如果配置了该环境变量,则客户端尝试访问$HADOOP_HOME/etc/hadoop(Hadoop 2)和$HADOOP_HOME/conf(Hadoop 1)。
step1:启动新的FlinkYARN会话时,客户端首先检查所请求的资源(用于启动ApplicationMaster的内存和vcores)是否可用。然后,它将包含Flink 程序和配置文件的jar包上传到HDFS。
step2:客户端请求一个YARN的容器(container)用来启动ApplicationMaster。
step3:分配一个ApplicationMaster容器(container),并启动ApplicationMaster。由于客户端将配置文件和jar文件注册为容器的资源,因此NodeManager将负责准备容器(例如,下载文件)。完成后,将启动ApplicationMaster(AM)。该JobManager和AM在同一容器中运行,一旦成功启动,AM就知道JobManager的地址。