Hadoop-2.x 学习笔记(5) —— YARN

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012292754/article/details/86479419

1 ResourceManager

  • 全局的资源管理器,整个集群只有一个
  • 功能
- 处理客户端请求
- 启动,监控 ApplicationMaster
- 监控 NodeManager
- 资源分配与调度

2 NodeManager

  • 整个集群有多个,负责单节点资源管理和使用;
  • 功能
- 单个节点上资源管理和任务管理
- 处理来自 ResourceManager 的命令
- 处理来自 ApplicationMaster 的命令
  • NodeManager 管理抽象容器,这些容器代表着可供一个特定程序使用的针对每个节点的资源;
  • 定时向 RM 汇报本节点上的资源使用情况和各个 Container 的运行状态;

3 Application Master

  • 管理一个在 YARN 内运行的应用程序的每个实例;
  • 功能
- 数据切分
- 为应用程序申请资源,并进一步分配给内部任务
- 任务监控与容错
  • 负责协调来自 RM 的资源,并通过 NM 监视容器的执行和资源使用(CPU,RAM)

4 Container

  • YARN 中资源的抽象,封装某个节点上多维度资源(RAM,CPU,网络),当 AM 向 RM 申请资源时,RM 向 AM 返回的资源是用 Container 表示;
  • YARN 会为每个任务分配一个 Container, 这个任务只能使用该 Conatiner 中描述的资源;
  • 功能
- 对任务运行环境的抽象
- 描述一系列信息
- 任务运行资源(RAM,CPU)
- 任务启动命令
- 任务运行环境

5 YARN 资源管理

  • 资源调度资源隔离是YARN 作为一个资源管理系统,最基础的2个功能。资源调度由 ResourceManager 负责,资源隔离由各个 NamaManager 实现;
  • 资源一般只 RAM,CPU,IO。 YARN 支持 RAM 和 CPU 两种资源的调度;
  • 内存资源决定任务的生死,如果内存不够没任务可能运行失败;CPU 决定任务运行的快慢;

5.1 YARN 资源配置

https://hadoop.apache.org/docs/r2.6.0/hadoop-yarn/hadoop-yarn-common/yarn-default.xml
在这里插入图片描述

http://node1:8088
在这里插入图片描述

5.2 YARN 资源管理

YARN 允许用户配置每个节点上可用的物理内存资源。可用,因为一个节点上的内存会被若干个服务共享,比如一部分给 YARN,一部分给 HDFS, 一部分 HBase,YARN 配置的只是自己可以使用的。

  • yarn.nodemanager.resource.memory-mb, 表示该节点上YARN 可使用的 RAM 总量(默认8 G)。注意如果机器的节点RAM 小于这个值,则需要减小这个值,而 YARN 不会智能的探测节点的物理内存总量
  • yarn.nodemanager.vmem-pmem-ratio,任务每使用 1 MB 内存,最多可使用的虚拟内存量,默认2.1

猜你喜欢

转载自blog.csdn.net/u012292754/article/details/86479419