Reservation System
YARN提供保留系统,允许用户提前或者设置保留资源给重要作业。通过绝对数值的形式指定代替百分比。保留系统是一个YARN ResourceManager的组件。
保留系统工作流程
图片来自互联网,链接地址:http://hadoop.apache.org/docs/r3.1.1/hadoop-yarn/hadoop-yarn-site/ReservationSystem.html
0.用户提交一个保留创建请求,返回一个ReservationId
1.用户提交一个用RDL(Reservation Definition Language)表示的规格文件和ReservationId组成的保留请求。这个文件描述了用户需要resource over-time和temporal constraints
2.保留系统会启动一个客户端去查找合理的资源分配。一般是通过一个计划,计划是一个数据结构,描述了当前已经接受的保留和可获得的资源。
3.SharingPolicy提供一种方式去接受或者拒绝保留。
4.成功验证后,会返回用户一个ReservationId
5.到一定时间,一个新的组件PlanFollower推送计划的状态给调度器。
6.用户可以提交一个作业到保留队列,可以明确指定保留Id作为提交上下文的一部分。
7.调度器提供一个容器去报资源保留。
8.系统同时提供一个机制去适配或者丢弃集群容量。
配置保留系统
目前,系统提供容量调度器和公平调度器配置保留系统,具体配置可以参考相应的调度器配置。