博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
YARN框架详解
阅读量:4992 次
发布时间:2019-06-12

本文共 1320 字,大约阅读时间需要 4 分钟。

YARN框架详解

YARN是什么

The fundamental(定义) idea of YARN is to split(分开) up the functionalities(功能) of resource management and job scheduling/monitoring(进程调度) into separate(独立) daemons(守护进程). The idea is to have a global ResourceManager (RM) and per-application ApplicationMaster (AM). An application is either a single job or a DAG(有向无环图(Directed Acyclic Graph)) of jobs.

yarn_architecture.gif

ResourceManager

全局的资源管理器,整个集群只有一个,负责集群资源的统一管理和调度分配。

*处理客户端请求*启动/监控ApplicationMaster*监控NodeManerger*资源分配与调度

NodeManager

整个集群有多个,负责单个节点的资源管理和使用

*单个节点上的资源管理和任务管理*处理来自ResourceManeger的命令*处理来自ApplicationMaster的命令

NodeManager管理抽象容器,这些容器代表着可供一个特定应用程序使用的针对每个节点的资源

定时向ResourceManager汇报本节点上的资源使用情况和各个Container的运行情况

ApplicationMaster

管理一个在YARN内运行的应用程序的每个实例

*为应用程序申请资源,进一步分配给内部任务*任务监控与容错

负责协调来自ResourceManager的资源,并通过NodeManager监控容器的执行和资源使用(CPU、内存等的资源分配)

Container

YARN中的资源抽象,封装某个节点上多维度资源,如内存、CPU、磁盘、网络等。当ApplicationManager向ResourceManager申请资源时便是用的Container表示的

YARN会为每个任务分配一个Container,且该任务只能使用该Container中描述的资源

*对任务运行环境的抽象*描述一系列信息*任务运行资源(节点、内存、CPU)*任务启动命令*任务运行环境

资源的管理

(资源:CPU、内存和IO,YARN支持CPU和内存的调度,内存的多少会决定任务的生死,CPU仅仅决定了任务运行速度)

资源的调度和隔离是YARN作为一个资源管理系统,最重要和最基础的两个功能。资源调度由ResourceManager完成,而资源的隔离由各个NodeManager实现。

资源调度

ResourceManager将某个NodeManager上资源分配给任务。

资源隔离

NodeManager需按要求为任务提供相应的资源,甚至保证这些资源具有独占性,为任务运行提供基础的保证

转载于:https://www.cnblogs.com/cenzhongman/p/7125342.html

你可能感兴趣的文章
递归C++
查看>>
POJ 1751 Highways(最小生成树&Prim)题解
查看>>
linux 安装openssh-server, openssh-client
查看>>
Java继承的基本概念及其限制 总结
查看>>
RF1001: 各浏览器对 '@font-face' 规则支持的字体格式不同,IE 支持 EOT 字体,Firefox Safari Opera 支持 TrueType 等字体...
查看>>
Socket 学习(三)
查看>>
题解 CF43B 【Letter】
查看>>
CommandName and CommandArgument
查看>>
[z]FNV哈希算法
查看>>
通过层序和中序遍历序列重建二叉树
查看>>
【Git】git clone与git pull区别
查看>>
【SVN】SVN的trunk、branches、tag的使用以及分支的概念
查看>>
JS闭包理解
查看>>
整数对题目
查看>>
php设计模式-观察者模式
查看>>
NFC技术:使用Android Beam技术传输文本(一)
查看>>
C++判断一个文件是否可以正确打开的代码
查看>>
unity 判断 是手机还是平板
查看>>
VisualStudio2015单步调试
查看>>
【进程资源】监视进程资源
查看>>