本地提交到yarn_Flink入门之提交任务

回顾

在开始讲本篇内容之前,先回忆一下上篇文章讲了什么,主要讲了以下几点

  • Runtime架构组件介绍
  • Task operator chain、slot的介绍,理清了TaskManager、task slot 、task operator chain之间的关系

那么自然而然的事情,讲完了基本组成,就要抛出一个主要的问题了,用村上春树的书名来表达的话就是----当你提交任务后,Flink做了什么?

部署方式

引子

重要的事情说三遍。Flink架构主要做的是什么呢?

    资源和任务的匹配,即算子本地化!

    资源和任务的匹配,即算子本地化!

    资源和任务的匹配,即算子本地化!

        Flink Runtime可以作为yarn的应用程序运行,也可以在Mesos集群上运行,也可以在单机上运行(本地调试相当方便)

        本文主要以standalone和yarn两种方式进行探讨

0f07d2197eb9438bba29493a325d1fc3.png

Yarn

  • 八股文流程
  • FlinK任务提交前,client向HDFS上传Flink的jar包和配置
  • 提交任务给RM,RM接受到请求后,分配AM的container资源并启动AM
  • AM启动后加载jar包后启动JobManager,之后AM向RM申请资源
  • RM分配资源container
  • AM通知节点所在的nodemanager启动TaskManager
  • NodeManager加载配置环境后启动TM
  • TM启动后向JobManager发送心跳,等待JM向其分配任务​

f5a89550ed13f7eed32959d13dadde54.png

Standalone

流程:
  1. 用户提交任务,Client负责作业的编译和提交
  2. client产生jobGraph提交到集群中执行
  3. AM预先启动,client直接与Dispatcher建立连接提交作业
  4. Dispatcher启动JobManager,由其向RM申请资源执行任务
  5. RM向外部资源申请资源启动Task Executor,等待task executor启动后向RM注册
  6. RM选择合适的slot通知TM 进行分配(类似银行大厅叫号,请xx号到几号柜台)
  7. TM拿个小本本记下来,去找柜员(JobManager)注册
  8. JobManager收到注册上来的slot后,提交Task
  9. TaskExecutor收到JM提交的Task后,埋头干活(启线程,也就是task执行任务)

917c08affd9c36b526054d69f495d490.png

觉得有用的麻烦支持一下公众号 菜鸡大数据

最全大数据学习资源,超多项目实战

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值