HADOOP YARN是什么?
Yarn全称是Yet Another Resource Negotiator(资源管理器)
基本概念
Container
容器是Yarn对资源的一层抽象。(CPU核数,内存等计算资源)
容器由NodeManager启动和管理,并被它所监控
容器由ResureceManager调度
ResourceManager(RM)负责资源管理,包含定时调度器(scheduler)和应用管理器(ApplicationManager)
调度器向分配资源,应用管理器监控应用程序。
ApplicationMaster
每提交一个作业,Appmaster向Resourcemanager申请资源,获得资源后将运行的程序发送到容器启动。(数据不动,程序动)
Nodemanager
负责容器的管理,监控资源的使用情况,向ResourceManager提供资源的使用报告。
程序提交流程
1. Client向Yarn提交Application
2. ResourceManager向NodeManager通信,为Appmaster分配第一个容器
3. Appmaster对作业进行拆分,向ResourceManager申请容器
4. Appmaster与NodeManager通信,将作业分发到容器中。
5. 容器向Appmaster发送心跳
6. 程序结束,Appmaster向ResourceManager注销资源