假设在生产环境Yarn中,总共有四类用户需要使用集群,开发用户、测试用户、业务1用户、业务2用户。为了使其提交的任务不受影响,我们在Yarn上规划配置了五个资源池,分别为 dev_group(开发用户组资源池)、test_group(测试用户组资源池)、business1_group(业务1用户组资源池)、business2_group(业务2用户组资源池)、default(只分配了极少资源)。并根据实际业务情况,为每个资源池分配了相应的资源及优先级等。
ResourceManager上fair-scheduler.xml配置如下:
- <?xml version=“1.0”?>
- <allocations>
- <!– users max running apps –>
- <userMaxAppsDefault>30</userMaxAppsDefault>
- <queue name=“root”>
- <aclSubmitApps> </aclSubmitApps>
- <aclAdministerApps> </aclAdministerApps>
- <queue name=“default”>
- <minResources>2000mb,1vcores</minResources>
- <maxResources>10000mb,1vcores</maxResources>
- <maxRunningApps>1</maxRunningApps>
- <schedulingMode>fair</schedulingMode>
- <weight>0.5</weight>
- <aclSubmitApps>*</aclSubmitApps>
- </queue>
- <queue name=“dev_group”>
- &n

本文介绍了如何在Yarn中配置公平调度器(Fair Scheduler),将资源池按用户组进行分配,确保开发、测试及不同业务用户之间的任务互不影响。详细展示了资源配置、权限控制以及调度模式的设置,并提到了客户端用户组信息在ResourceManager中的重要性,以及如何刷新配置以应用变更。
最低0.47元/天 解锁文章
2万+

被折叠的 条评论
为什么被折叠?



