YARN调度架构
- esourceScheduler是YARN的调度器,负责Container的分配。
- AsyncDispatcher是单线程的事件分发器,负责向调度器发送调度事件。
- ResourceTrackerService是资源跟踪服务,主要负责接收处理NodeManager的心跳信息。
- ApplicationMasterService是作业的RPC服务,主要负责接收处理作业的心跳信息。
- AppMaster是作业的程序控制器,负责跟YARN交互获取/释放资源。
AppMaster
AppMaster
是一个yarn任务运行时第一个由RM启动的container,然后负责整个任务的运行,包括container的申请、启动、kill、状态检查等。ApplicationMaster属于应用程序级,其实现不是由Yarn框架提供(历史原因,yarn提供了MapReduce的AppMaster的实现),需要用户自己实现AppMaster进程的具体实现。