CDH动态资源池配置

动态资源池配置

Yarn默认有三种调度器——FIFO、Capacity以及Fair Scheduler,CDH推荐使用Fair Scheduler。通过动态资源池的Web UI,我们可以十分方便的配置Fair Scheduler。

1)点击群集→动态资源池配置进入动态资源池的配置界面
在这里插入图片描述

2)动态资源池配置——资源池
动态资源池采用树形结构,与Fair Scheduler的队列保持一致,任务只能提交到子池。用户可自定义动态资源池,以将不同任务提交到不同的资源池中。
每一个资源池都有一个权重 (weight)的概念,它定义了资源池资源分配的比例。但并不是说每个资源池都只能获得相应比例的资源。例如,下图中共有三个子池,root.default、root.dev、root.prod,三者的比重相同,理论上应各分得1/3的资源,但假如,当前整个集群只有一个job被提交到了root.dev中,则该job是可以使用整个集群资源的。
下面创建以三个子池——root.default、root.dev、root.users,权重均为1。
在这里插入图片描述

3)动态资源池配置——计划模式
假如规定我们将所有开发测试的job全部提交到root.dev资源池,所有的生产任务全部提交到root.prod资源池。由于我们的离线任务大多放在夜间执行,而开发测试工作主要在白天执行,很显然,root.dev在白天的时候需要更多的资源,root.prod在夜间需要更多的资源。计划模式就能够自动帮助我们在不同的时间段,刷新不同的资源池配置。
(1)创建计划规则
图片: https://uploader.shimo.im/f/8p0kgllShOUBWZs0.png

日间计划规则
图片: https://uploader.shimo.im/f/D7tk5dOOUVo2V3al.png

夜间计划规则
图片: https://uploader.shimo.im/f/VBAL5qnEmoMS1fYj.png

(2)修改资源池
修改root.dev将dev的日间权重适当调大,此处上调到3。
在这里插入图片描述
按照相同的步骤,将root.users的夜间权重适当调大,也上调至3。
图片: https://uploader.shimo.im/f/JD0J7YWPbhMObXJz.png

4)动态资源池配置——放置规则
动态资源池规划完毕后,需要思考的问题就是,如何确定一个job提交后会被防止放置到哪一个资源池中。以下是放置规则
在这里插入图片描述

放置规则可以设置多个,从上到下依次校验,只要有一个规则校验成功,该任务就会被放置到该资源池中,后续规则不再校验,此处设置规则如下

5)动态资源池配置——用户限制
用户限制可对具体用户设置同时运行任务数的上限。
图片: https://uploader.shimo.im/f/ADrCkrbZ6zAEWrcS.png

注意:如需采用最严格的资源权限控制,可以在资源池权限配置中为每个用户组配置相应的资源池,然后此处删除所有放置规则,只添加“已在运行时指定”一条放置规则, 并且不勾选自动创建池,此时用户提交任务时必须指定使用的资源池,方法为指定参数

-Dmapreduce.job.queuename=<pool name>

6)刷新动态资源池
动态资源池刷新之后才可生效
图片: https://uploader.shimo.im/f/QC2gG9ZmlTwuJEJD.png

相关推荐
©️2020 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页