目录
百战程序员,全站22050+开发课程+文档 ,学习精选优质好课快人一步!观看视频 快捷键ALT+N

大数据全系列 教程

1869个小节阅读:467.3k

收藏
全部开发者教程

408考研

JAVA全系列 教程

面向对象的程序设计语言

Python全系列 教程

Python3.x版本,未来主流的版本

人工智能 教程

顺势而为,AI创新未来

大厂算法 教程

算法,程序员自我提升必经之路

C++ 教程

一门通用计算机编程语言

微服务 教程

目前业界流行的框架组合

web前端全系列 教程

通向WEB技术世界的钥匙

大数据全系列 教程

站在云端操控万千数据

AIGC全能工具班

A

A A

White Night

阅读(228)
赞(0)

FlinkOnYarn集群架构

Flink on Yarn模式的原理是依靠YARN来调度Flink任务,目前在企业中使用较多。这种模式的好处是可以充分利用集群资源,提高集群机器的利用率,并且只需要1套Hadoop集群,就可以执行MapReduce和Spark任务,还可以执行Flink任务等,操作非常方便,不需要维护多套集群,运维方面也很轻松。Flink on Yarn模式需要依赖Hadoop集群,并且Hadoop的版本需要是2.2及以上。我们的课程里面选择的Hadoop版本是3.1.3。

  1. 客户端Client上传jar包和配置文件到HDFS集群上

    • 当启动一个FlinkYarn会话时,客户端首先会检查本次请求的资源是否足够;资源足够再上传。
    • YARN Client上传完成jar包和配置文件以后,再向RM提交任务;
  2. Client向ResourceManager提交应用并申请资源,ResourceManagerNodeManager上启动容器,运行AppMaster

  3. ResourceManager分配Container资源并启动AppMaster,然后AppMaster加载Flink的Jar包和配置构建环境,启动JobManager

    • JobManager和ApplicationMaster运行在同一个Container上;
    • 一旦JobManager被成功启动,AppMaster就知道JobManager的地址(AM它自己所在的机器);
    • 它就会为TaskManager生成一个新的Flink配置文件,此配置文件也被上传到HDFS上;
    • 此外,AppMaster容器也提供了Flink的web服务接口;
    • YARN所分配的所有端口都是临时端口,这允许用户并行执行多个Flink
  4. ApplicationMaster向ResourceManager申请工作资源,NodeManager加载Flink的Jar包和配置构建环境并启动TaskManager(多个)。

  5. TaskManager启动后向JobManager发送心跳包,并等待JobManager向其分配任务;

总结:

  • JobManager进程和TaskManager进程都由 Yarn的NodeManager监控;JobManagerTaskManager都是运行NodeManager的容器(Contanier)中.
  • 如果 JobManager 进程异常退出,则 Yarn ResourceManager 会重新调度 JobManager到其他机器;JobManager和AppMaster运行在同一个Container容器中。
  • 如果 TaskManager 进程异常退出,JobManager 会收到消息并重新向 Yarn ResourceManager 申请资源,重新启动 TaskManager;

实时效果反馈

1. 以下选项中关于FlinkOnYarn集群架构的描述错误的是?

A JobManager运行ResourceManager容器Contanier中。

B TaskManager运行NodeManager容器Contanier中。

C JobManager进程和TaskManager进程都由 Yarn的NodeManager监控。

2. 以下选项中关于FlinkOnYarn集群架构的描述错误的是?

A 如果JobManager进程异常退出,则 ResourceManager会重新调度JobManager到其他机器。

B 同一个作业的 JobManager和AppMaster运行在两个不同的Container容器中。

C 如果 TaskManager 进程异常退出,JobManager 会收到消息并重新向 Yarn ResourceManager 申请资源,重新启动 TaskManager。

答案:

1=>A 运行NodeManager容器Contanier中。

2=>B 二者运行在同一个容器中。

北京市昌平区回龙观镇南店村综合商业楼2楼226室

©2014-2023 百战卓越(北京)科技有限公司 All Rights Reserved.

京ICP备14032124号-2