Flink源码走读
文章平均质量分 74
深入理解Flink源码
pezynd
工匠
展开
-
Flink源码篇 No.10-任务提交之调度并执行Task(per-job on yarn)
第1章 简介经过前面几篇文章的介绍,TM已经申请到Slot,并且向JM提供了执行任务的Slot。本篇文章将继续走读源码,介绍JM向TM提交任务的流程。第2章 具体步骤2.1 启动JM我们回到之前JM启动的代码:org.apache.flink.runtime.jobmaster.JobMaster#startJobExecutionprivate Acknowledge startJobExecution(JobMasterId newJobMasterId) throws E原创 2021-10-31 14:49:59 · 1500 阅读 · 0 评论 -
Flink源码篇 No.9-任务提交之注册Slot(per-job on yarn)
第1章原创 2021-10-31 14:13:32 · 4406 阅读 · 0 评论 -
Flink源码篇 No.8-任务提交之启动TaskManager(per-job on yarn)
第1章 注册回调在上一篇文章中,启动nodeManagerClient的时候,注册了一个CallbackHandler回调yarnContainerEventHandlerorg.apache.flink.yarn.YarnResourceManagerDriver#initializeInternal@Overrideprotected void initializeInternal() throws Exception { final YarnContainerEventHandler原创 2021-10-10 15:04:34 · 708 阅读 · 0 评论 -
目录 | Flink源码走读
Flink任务提交Flink源码篇 No.1-任务提交之入口及参数解析(per-job on yarn)Flink源码篇 No.2-任务提交之调用用户方法(per-job on yarn)Flink源码篇 No.3-任务提交之执行用户作业(per-job on yarn)Flink源码篇 No.4-任务提交之启动AppMaster(per-job on yarn)Flink源码篇 No.5-任务提交之启动JobManager(per-job on yarn)Flink源码篇 No.6原创 2021-10-07 22:37:12 · 259 阅读 · 0 评论 -
Flink源码篇 No.7-任务提交之JobManager申请资源(per-job on yarn)
第1章 启动JobManager我们从jobManager启动的方法开始看org.apache.flink.runtime.jobmaster.JobMaster#startJobExecutionprivate Acknowledge startJobExecution(JobMasterId newJobMasterId) throws Exception { // 验证是否在主线程 validateRunsInMainThread(); checkNotNull(newJobM原创 2021-10-07 21:46:25 · 1199 阅读 · 0 评论 -
Flink源码篇 No.6-任务提交之启动ResourceManager(per-job on yarn)
第1章create创建并启动resourceManager回到最初创建resourceManager的地方:org.apache.flink.runtime.entrypoint.component.DefaultDispatcherResourceManagerComponentFactory#create@Overridepublic DispatcherResourceManagerComponent create( Configuration configuration, ..原创 2021-10-07 21:46:04 · 786 阅读 · 0 评论 -
Flink源码篇 No.5-任务提交之启动JobManager(per-job on yarn)
第7章 启动JobManager原创 2021-10-07 21:45:41 · 551 阅读 · 0 评论 -
Flink源码篇 No.4-任务提交之启动AppMaster(per-job on yarn)
第5章 启动AppMaster上面我们阅读到了org.apache.flink.client.deployment.executors.AbstractJobClusterExecutor#execute,下面看看在execute内部如何启动AppMaster。5.1createClusterDescriptor创建集群描述器createClusterDescriptor是接口内的方法,我们直接看Yarn相关的实现。org.apache.flink.yarn.YarnClusterCli..原创 2021-10-07 21:45:12 · 1507 阅读 · 0 评论 -
Flink源码篇 No.3-任务提交之执行用户作业(per-job on yarn)
第4章 执行用户程序4.1env.execute()执行用户程序org.apache.flink.streaming.api.environment.StreamExecutionEnvironment#execute(java.lang.String)public JobExecutionResult execute(String jobName) throws Exception { Preconditions.checkNotNull(jobName, "Streaming Job .原创 2021-10-07 21:44:39 · 407 阅读 · 0 评论 -
Flink源码篇 No.2-任务提交之调用用户方法(per-job on yarn)
3.2run方法运行org.apache.flink.client.cli.CliFrontend#runprotected void run(String[] args) throws Exception { LOG.info("Running 'run' command."); //TODO 获取用户配置 final Options commandOptions = CliFrontendParser.getRunCommandOptions(); final CommandLi..原创 2021-10-07 21:44:17 · 451 阅读 · 0 评论 -
Flink源码篇 No.1-任务提交之入口及参数解析(per-job on yarn)
第1章 简介本篇文章以一次任务提交为主线,介绍Flink源码中,任务是如何提交的。以下内容基于yarn以per-job模式为例。源码版本Apache Flink 1.12。第2章 详细步骤2.1 flink run 提交作业我们已flink命令提交job为入口,开始了解源码。通常我们使用flink提交作业时,在命令行输入如下命令:bin/flink run -t yarn-per-job /.../***.jar ...查看flink脚本文件,此脚本文件最后exec就是作业提交原创 2021-10-07 21:43:45 · 1135 阅读 · 0 评论