hadoop生态笔记之yarn
HADOOP 生态
YARN是一个集群资源管理与任务调度的分布式框架,是从MP1上升级分离出来的调度框架。
1、RM:
a、处理客户请求
b、启动和监控AM
c、监控NM
d、资源分配与调度
2、AM:
a、为应用程序从RM处申请资源
b、需要与NM通信,启动/停止任务,AM运行在container,任务也运行在container中
c、每个应用程序对应一个,MR,Spark负责程序管理
3、NM:
a、集群中有N个,负责自己资源的管理使用
b、定时向RM汇报自己资源使用情况
c、接收和处理来自RM的指令,启动Container
d、处理来自AM的指令,AM与Container通过心跳的方式通信
e、单个节点的资源管理(RM是整个集群的资源管理)
4、Container:
a、封装了CPU,内存的资源容器,最小运行环境的抽象
b、多个任务之间通过它进行相互隔离,互补影响,类似于docker
运行机制:
1、client 向RM提交了一个作业(RM,Spark)
2、RM需要给该作业指定一个NM,并与NM通信,在NM上启动一个Container
3、在NM的Container中启动AM,AM需要向RM进行注册,注册后可以向AM申请所需的资源,AM告知该作业后续的NM,由于AM已向RM注册,所以Client可以从RM处获取到作业进度
4、AM与后续的NM进行通信,告知需要的Container
5、NM在需要的Container上执行执行任务