flink on yarn工作提交流程及三层图概述

本文详细介绍了Flink在YARN上的工作提交流程,包括客户端请求、YARN创建容器启动Application Master,以及AM如何启动Job Manager。同时,文章探讨了Flink的三层图结构——StreamGraph、JobGraph和ExecutionGraph,阐述了它们在计算图生成过程中的作用,强调了资源管理和任务分配的关键角色。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

flink on yarn工作提交流程

示意图

在这里插入图片描述
流程如下:

  • Client向Dispatch而发起请求,Dispatch而向yarn提交job
  • Yarn的NN创建一个container,启动Application Master(AM)
    • ApplicationMaster在本地启动一个Resource Manager和Job Manager
  • Job manager根据StreamGraph生成的ExecutionGraphy以及物理执行计划向Flink Resource Manager申请slot
  • 如果没有足够的slot,那么Flink Resources Manager向Yarn Resource Manager申请Container
  • 创建Container之后,Container向Flink Resource Manager和JobManager注册
  • 注册之后Flink Resource manager分配slot,JobManager分配Task

几点分工注意:

  1. 集群资源掌控在yarn的老大NN中,但是flink的client不直接和yarn的NN打交道,而是通过Application Master(AM)中的Resources Manager获取资源
  2. AM中的Resource Manager(RM)负责向yarn申请资源(Container),分配slot
  3. Job Manager向RM申请资源
### 大数据平台技术架构概述 大数据平台的技术架构通常由多个层次组成,这些层次共同协作来实现高效的数据处理和分析功能。下面是一个典型的大数据平台技术架构示例: #### 数据接入层 该层主要负责原始数据的收集与初步清洗工作。常见的工具和技术包括Apache Flume用于日志采集[^3],以及Kafka作为消息中间件用来缓冲来自不同源头的数据流。 ```mermaid graph LR; A[外部数据源] --> B(Kafka); C(Flume) --> D(其他数据输入方式); E[HDFS] <--|存储到分布式文件系统| F(MapReduce/Hive/Spark等批处理引擎); ``` #### 实时计算层 对于需要即时响应的应用场景,在此阶段会采用诸如Flink或Storm这样的流式处理框架来进行低延迟的数据转换与聚合操作。为了防止因处理能力不足而导致的数据积压问题,往往会在Flume之后加入像Kafka这样具备良好扩展性的消息队列服务。 #### 批量处理层 针对大规模历史数据集,则更多依赖于基于Hadoop生态系统的组件完成复杂查询任务。例如通过YARN资源管理器协调集群内节点执行MapReduce作业,或是利用更高效的SQL-on-Hadoop解决方案如Presto、Impala等进行交互式探索性分析[^5]。 #### 调度监控层 整个体系的有效运作离不开一套健全的任务编排机制——即能够动态调整优先级并跟踪进度的状态管理系统。此类设施不仅有助于提高吞吐率和服务质量(SLA),还能及时发现潜在瓶颈以便采取预防措施加以优化改进[^4]。 #### 应用展示层 最后,经过多轮加工提炼后的有价值信息会被传递给前端可视化界面供决策者参考使用;同时支持API接口调用满足第三方集成需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值