当前位置:网站首页>Apache Flink's yarn session submission process
Apache Flink's yarn session submission process
2022-07-21 02:34:00 【Shockang】
Preface
This article belongs to the column 《 Big data technology system 》, This column was originally written by the author , Please indicate the source of the quotation , Please point out the shortcomings and mistakes in the comment area , thank you !
For the table of contents and references of this column, please refer to Big data technology system
Catalog
Apache Flink Of YARN Session Submission process
Apache Flink Of Per-Job Submission process
Apache Flink Of K8s Session Submission process
Text
In general , stay Yarn Use... On the cluster Session Mode submission Flink The process of homework is divided into 3 Stages :
- First, in the Yarn Start the Flink Session Cluster of patterns ;
- Secondly through Flink Client Submit the assignment ;
- Finally, carry out job scheduling and execution .
The complete process is as follows :
1. Start cluster
- Use
bin/yarn-session.sh
Submit a session mode job
- If you submit to an existing cluster , Then get Yarn Cluster information 、 application ID, And prepare to submit homework .
- If you start a new Yarn Session colony , Then go to step (2).
- Yarn Start new Flink colony
- If there is no cluster , Creates a new one Session Cluster of patterns .
First apply the configuration (flink-conf.yaml
、logback.xml
、log4j.properties
) And related documents ( Flink Jar、 Configuration class file 、 user Jar file 、 JobGraph Object etc. ) Upload to distributed storage ( Such as HDFS) Application staging Directory .
- adopt Yarn Client towards Yarn Submit Flink Application for cluster creation ,Yarn Allocate resources , In the application of Yarn Container Initialize and start Flink
JobManager
process , stayJobManager
Running in processYarnSessionClusterEntrypoint
As the entry for cluster startup ( Different cluster deployment modes have differentClusterEntrypoint
Realization ), initializationDispatcher
、ResourceManager
, Start related RPC service , wait for Client adopt Rest Interface submission job .
2. Homework submission
Yarn When the cluster is ready , Start job submission .
Flink Client adopt Rest towards
Dispatcher
SubmitJobGraph
.Dispatcher
yes Rest Interface , Not responsible for the actual scheduling 、 Implementation work , When I receivedJobGraph
after , Create a... For the jobJobMaster
, Give the job toJobMaster
( Be responsible for job scheduling 、 Manage jobs and Task Life cycle of ), structureExecutionGraph
(JobGraph
Parallel version of , The core data structure of the scheduling layer ).
After these two steps , The job enters the scheduling execution stage .
3 . Job scheduling execution
JobMaster
towardsYarnResourceManager
Application resources , Start schedulingExeeutionGraph
perform , towardsYarnResourceManager
Application resources ; There is noTaskManager
, At this time, there are insufficient resources , Start applying for resources .YarnResourceManager
receivedJobMaster
Resource request for , If you are currently free Slot Will Slot Assigned toJobMaster
, otherwiseYarnResourceManager
ToYarnMaster
Request creationTaskManager
.YarnResourceManager
Add the resource request to the waiting request queue , And through the heartbeat to YARNResourceManager
Apply for a newContainer
Resources to startTaskManager
process ; Yarn Assign a new Container toTaskManager
YarnResourceManager
start-up , And then from HDFS load Jar Relevant resources required by documents , Start... In the containerTaskManager
.TaskManager
After starting , towardsResourceManager
register , And put your own Slot Report resources to ResourceManager .ResourceManager
Remove... From the waiting queue Slot request , towardsTaskManager
Confirm resource availability , And let us knowTaskManager
take Slot To whichJobMaster
.TaskManager
towardsJobMaster
Provide Slot ,JobMaster
Dispatch Task ToTaskManager
This Slot On the implementation .
At this point, the job enters the execution stage .
边栏推荐
- typora测试版过期无法正常使用
- excel数据条怎么设置百分比颜色?excel数据条按百分比自动填充颜色教程
- Binary tree OJ exercise
- Detailed decision tree and random forest
- Advanced one stage of target detection
- Share a fun JS game
- 解读Go分布式链路追踪实现原理
- 【ArcGIS微课1000例】0029:ArcGIS绘制平行线(构造平行公路)
- Pytorch:model.train()和model.eval()用法和区别,以及model.eval()和torch.no_grad()的区别
- Dynamic memory management
猜你喜欢
Excel宏是什么?Excel宏的使用教程
Relationship between accuracy, recall and confidence
HMS Core安全检测服务如何帮助大学新生防范电信诈骗?
Dynamic memory management
Get the way to optimize the one-stop worktable of customer service
Interpreting the implementation principle of go Distributed Link Tracking
I summarize some experience of the whole R & D process
Exploration and practice of dewu app data simulation platform
This beta version of Typora is expired,please download and install a newer version.
Ppt concise
随机推荐
记录uni-app 打包成apk后获取定位
Exploration and practice of dewu app data simulation platform
Exness: the dollar fell moderately, and the RBA called for further interest rate hikes
MySQL field values contain_ And \ escape characters, how to eliminate the influence when comparing the values of two tables?
Hands on experiment of network and VPC
Excel管理Simulink SWC中的标定量与观测量之标定量
Locking is familiar with synchronized and lock, so what is the difference between them
数据可视化之堆叠柱状图带你了解宠物数据
Caffeine cache add change check expired
全栈代码测试覆盖率及用例发现系统的建设和实践
Construction and practice of full stack code test coverage and use case discovery system
Inserting data in stored procedures and for loops
Explain IOU, giou, Diou, ciou, eiou and Diou NMS in detail
Mobile phone remedial classes for parents
单机的tidb能用到生产环境上吗?
RGB dot matrix display based on esp32
Application of "tutorial" torchtext
Trax: how to win the sweet war in the summer ice cream market?
A brief introduction to redis, the installation and configuration of redis source code, and the installation and mounting of docker
《暴走 IT》第1话:来了个新同事