Step by step,学习EMR集群的fair类型资源池

9月前 856

集群越大,跑的业务越多,越需要资源池管理。资源调度是yarn的核心。


EMR现在支持在业务视角操作yarn资源池了,资源池文档介绍了如何使用。


企业用户往往会选择使用fair调度类型的资源池。本文以一家大数据分析公司业务发展为故事背景,一步步的介绍如何使用fair调度。fair调度详细参数信息可参见官方文档


一个数据分析师

公司刚开始,业务团队只有小明一个数据分析师。一个人用整个集群,默认资源池配置即可。随便跑作业,随便杀作业。


三个数据分析师

公司发展,业务团队小明,张华,李萍三个数据分析师了。还用默认资源池不分队列,一个人把资源用满其他人就用不了了。杀作业很容易杀掉别人的作业,互相影响,出了问题无法定位。

于是采用三个人均分资源策略,创建三个资源池,只设置名字和权重1,管理访问控制的用户名。放置策略采用用户名为队列。gateway上建了三个操作系统账户xiaoming,zhanghua,liping,三个分析师用自己的系统账户提交作业,管理作业。

创建资源池-管理访问控制

16767fda5f836dc601e10165bef3bebf3889b6d9

资源池设置

b42faca52d2589fd69c7a53757a17f6819e92ee7b42faca52d2589fd69c7a53757a17f6819e92ee7



设置放置规则

95b6b11478c3cb8b8dc4889675556215b63c1687


创建操作系统账户略。



最小资源保障

虽然权重均分了,但大家发现,如果小明跑任务已经占用了全部资源,张华,李萍跑任务依然要等待小明作业释放了部分资源才能跑起任务。这是因为权重只有分配资源时生效,已占用的资源不会释放。

所以要增加最小内存,内核数的配置,保障每个队列至少有这些资源可用,重要任务可以跑起来。每个队列保障32000MB内存,8内核数。

fc808b3a17bc53d75732820583f245294a6d87fb




多部门混合使用

公司继续发展,除了业务部A,又成立了市场部B,营销部C。都要使用集群。业务上,分析任务也有了每天运行的生产任务和临时查数据,开发测试的日常任务的区别。

初步混用

为了管理各个部门的资源配置,系统管理员给各个部门创建了资源池,并控制各个资源池上限。每个部门资源池又创建了生产子队列,各个分析师的用户子队列。放置规则采用组名映射队列方式,gateway上给各部门创建用户组,每个部门的用户,生产任务各创建一个用户。

部门和用户队列

3568aaaef5dc01de0a05edb0b73c1b41b55be97c

放置规则


e6c0891de918856cdc662412bdd6f4d7e1b0fded



生产任务保障

如果数据分析师日常任务占用了大量资源,生产任务可能得不到资源保障。需要配置抢占策略,确保生产任务能获得需要的资源。

生产资源池配置禁止抢占该资源池的资源,抢占份额为0.8,抢占超时时间为30秒。这样当生产任务不够权重的0.8,30秒后就会kill日常任务,给生产任务释放资源。

068dae12bc2afaa9708e23295173a5ac7993f6bc




大数据 hadoop 配置 集群 BY EMR yarn 大数据分析 资源管理 fair

作者

鸿初
TA的文章

相关文章

评论 评论(1)

似梦似幻0

2018-03-14 00:33:14

后来人帮助计划https://wendao123.cn 多学习一点 ,以后就少做点弯路,我在这里分享了很多我以前学习时收集的资料,欢迎前往下载。欢迎投递优质资源,让后来人少走弯路。