Yarn架构
Client、ResourceManager、NodeManager、ApplicationMaster
Client:向RM提交任务、杀死任务等
ApplicationMaster:每个应用程序对应一个AM,AM向RM申请资源用于在NM上启动对应的Task,数据切分,为每个task向RM申请资源(container),NM通信,任务的监控
NodeManager:存在多个,真正干活的,向RM发送心跳信息、任务的执行情况、接收来自RM的请求来启动任务,处理来自AM的命令
ResourceManager:集群中同一时刻对外提供服务的只有1个,负责资源相关的调度,处理来自客户端的请求:提交、杀死
启动、监控AM,监控NM
执行流程:
首先客户端提交一个应用程序到Yarn,肯定第一个事情是和RM进行交互,RM给这个任务在任意一个NM分配一个container,换句话说就是RM和NM进行通信要求NM开启一个container来运行任务的AM,AM启动了之后会注册到RM。这样RM可以监控AM的实时情况,并且在注册的同时向RM申请资源然后在NM启动对应的Task任务