在container中运行的应用程序通过什么协议,把信息发送到applicationmaster

2024-12-25 19:30:59
推荐回答(1个)
回答1:

第二代mapreduce框架TaskScheduleryarn

YARN编程模型

1:保证编程模型向兼容性MRv2重用MRv1编程模型数据处理引擎运行环境重写

2:编程模型与数据处理引擎

mapreduce应用程序编程接口两套:新API(mapred)旧API(mapreduce)

采用MRv1旧API编写程序直接运行MRv2

采用MRv1新API编写程序需要使用MRv2编程库重新编译并修改兼容参数 返值

3:运行环境

MRv1:JobrackerTasktracker

MRv2:YARNApplicationMaster

YARN组

yarn主要由ResourceManagerNodeManagerApplicationMasterContainer等几组件组

ResourceManager(RM)

RM全局资源管理器负责整系统资源管理配

主要由两组件组:调度器应用 程序管理器(ASM)

调度器

调度器根据容量队列等限制条件系统资源配给各运行应用程序

负责具体应用程序相关工作比监控或跟踪状态

负责重新启失败任务

资源配单位用资源容器resource Container表示

Container态资源配单位内存CPU,磁盘网络等资源封装起限定每任务资源量

调度器插拔组件用户自行设计

YARN提供种直接用调度器比fair SchedulerCapacity Scheduler等

应用程序管理器

负责管理整系统所应用程序

ApplicationMaster(AM)

用户提交每应用程序均包含AM

AM主要功能

与RM调度器协商获取资源(用Container表示)

任务进步配给内部任务

与NM通信自/停止任务

监控所任务运行状态并任务运行失败重新任务申请资源重启任务

前YARN自带两AM实现

用于演示AM编写实例程序distributedshell

用于Mapreduce程序---MRAppMaster

其计算框架应AM发比spark等

Nodemanager(NM)Container

NM每节点资源任务管理器

定向RM汇报本节点资源使用情况各Container运行状态

接收并处理自AMContainer启/停止等各种要求

ContainerYARN资源抽象封装某节点维度资源

YARN每任务配Container且改任务能使用该Container描述资源

Container同于MRv1slot态资源划单位根