LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 380|回复: 0

Yarn

[复制链接]
发表于 2024-1-2 16:23:59 | 显示全部楼层 |阅读模式
Yarn 一个资源管理系统,其作用就是把资源管理和任务调度/监控功分割成不同的进程。Yarn 有一个全局的资源管理器叫 ResourceManager,每个 application 都有一个 ApplicationMaster 进程。一个 application 可能是一个单独的 job 或者是 job 的 DAG (有向无环图)。

在 Yarn 内部有两个守护进程,分别是 ResourceManager 和 NodeManager。ResourceManager 负责给 application 分配资源,而 NodeManager 负责监控容器使用资源情况,并把资源使用情况报告给 ResourceManager。这里所说的资源一般是指CPU、内存、磁盘、网络等。

ApplicationMaster 负责从 ResourceManager 申请资源,并与 NodeManager 一起对任务做持续监控工作。

ResourceManager 有两个比较重要的组件 —— Scheduler 和 ApplicationMaster。

Scheduler
Scheduler负责给各种application分配资源,它是纯粹的调度器,因为它并不会跟踪application的状态。它也不会重新对因为软硬件故障而失败的任务进行调度。它只会根据application的要求分配资源。

ApplicationManager
ApplicationManager 作用如下:

接收任务的提交
为 ApplicationMaster 申请第一个 Container。 Container 是 YARN 中的资源抽象,它封装了某个节点上的多维度资源,如内存、CPU、磁盘、网络等
在 ApplicationMaster 容器失效的时候重启它。
ApplicationMaster 的作用如下:

从Scheduler申请资源容器
跟踪Container的状态
监控application运行进度
我们可以通过 Yarn 的集群联结特性,把节点数量扩展到几千个,这个特性让我们可以把多个 Yarn 集群联结成一个超大的集群。这样就可以把相互独立的集群联结起来,用于执行超大型的任务。

Yarn的特性
Yarn 具有下面这些特性:

多租户
Yarn允许在同样的 Hadoop 数据集使用多种访问引擎。这些访问引擎可能是批处理,实时处理,迭代处理等。

集群利用率
在资源自动分配的情况下,跟早期的 Hadoop 版本相比,Yarn 拥有更高的集群利用率。

可扩展性
Yarn 可以根据实际需求扩展到几千个节点,多个独立的集群可以联结成一个更大的集群。

兼容性
Hadoop 1.x 的 MapReduce 应用程序可以不做任何改动运行在 Yarn 集群上面。

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表