一、什么是Yarn
YARN(Yet Another Resource Negotiator),简称YARN,另一种资源协调者,是Hadoop的资源管理器。
二、Yarn的组成
Yarn有两个核心组件,ResourceManager和NodeManager。
1、ResourceManager(简称RM)
整个集群资源(内存、CPU等)的管理者。
2、NodeManager(简称NM)
管理单个节点服务器的CPU、内存等。
3、ApplicationMaster(简称AM)
管理单个任务运行。
4、Container
容器,相当于一台独立的服务器,里面封装了任务运行所需要的资源,如内存、CPU、磁盘、网络等。
5、说明
(1)ApplicationMaster在Container中运行。任务执行完了容器可以释放。
(2)ApplicationMaster向ResourceManager申请资源,说我这个任务需要1G内存1个CPU。
(3)ResourceManager会分配对应的节点来运行任务。可以是当前节点,也可以是跨其他节点。分别运行MapTask和ReduceTask两个任务。
(4)client客户端可以有多个。
(5)集群上可以运行多个ApplicationManager。
(6)每个NodeManager上可以有多个Container。