美文网首页
Flink运行模式

Flink运行模式

作者: 大空翼123 | 来源:发表于2022-01-17 21:34 被阅读0次

    1.开发者模式

        在idea中运行Flink程序的方式就是开发模式。

    2.local-cluster模式

        Flink中的Local-cluster(本地集群)模式,单节点运行,主要用于测试, 学习。

    3.Standalone模式

            独立集群模式,由Flink自身提供计算资源。

    4.Yarn模式

    把Flink应用提交给Yarn的ResourceManager

    Flink会根据运行在JobManger上的job的需要的slot的数量动态的分配TaskManager资源

    Yarn又分3种模式

    4.1Session-Cluster

    Session-Cluster模式需要先启动Flink集群,向Yarn申请资源。以后提交任务都向这里提交。

    这个Flink集群会常驻在yarn集群中,除非手工停止。

    在向Flink集群提交Job的时候, 如果资源被用完了,则新的Job不能正常提交.

    缺点: 如果提交的作业中有长时间执行的大作业, 占用了该Flink集群的所有资源, 则后续无法提交新的job.

    所以, Session-Cluster适合那些需要频繁提交的多个小Job, 并且执行时间都不长的Job.

    4.2Per-Job-Cluster

    一个Job会对应一个Flink集群,每提交一个作业会根据自身的情况,都会单独向yarn申请资源,直到作业执行完成,一个作业的失败与否并不会影响下一个作业的正常提交和运行。独享Dispatcher和ResourceManager,按需接受资源申请;适合规模大长时间运行的作业。

    每次提交都会创建一个新的flink集群,任务之间互相独立,互不影响,方便管理。任务执行完成之后创建的集群也会消失。

    Per-job模式执行结果,一个job对应一个Application

    4.3Application Mode

    Application Mode会在Yarn上启动集群, 应用jar包的main函数(用户类的main函数)将会在JobManager上执行. 只要应用程序执行结束, Flink集群会马上被关闭. 也可以手动停止集群.

    与Per-Job-Cluster的区别:就是Application Mode下, 用户的main函数式在集群中执行的,并且当一个application中有多个job的话,per-job模式则是一个job对应一个yarn中的application,而Application Mode则这个application中对应多个job。

    Application Mode模式执行结果,多个job对应一个Application

    官方建议:

    出于生产的需求, 我们建议使用Per-job or Application Mode,因为他们给应用提供了更好的隔离!

    https://ci.apache.org/projects/flink/flink-docs-release-1.12/deployment/

    yarn-cluster提交流程

    0.Flink任务提交后,Client向HDFS上传Flink的Jar包和配置

    1.向Yarn ResourceManager提交任务,ResourceManager分配Container资源

    2.通知对应的NodeManager启动ApplicationMaster,ApplicationMaster启动后加载Flink的Jar包和配置构建环境,然后启动JobManager(Dispatcher)

    2.1.Dispatcher启动JobMaster

    3.JobMaster向ResourceManager(Flink)申请资源

    4.ResourceManager(Flink)向ResourceManager(Yarn)申请资源启动TaskManager

    5.ResourceManager分配Container资源后,由ApplicationMaster通知资源所在节点的NodeManager启动TaskManager

    6.TaskManager注册Slot

    7.发出提供Slot命令

    8.TaskManager向JobMaster提供Slot

    9.JobMaster提交要在Slot中执行的任务

    相关文章

      网友评论

          本文标题:Flink运行模式

          本文链接:https://www.haomeiwen.com/subject/unkhhrtx.html