Hadoop Capacity Scheduler配置使用记录
作者: 大圆那些事 | 文章可以转载,请以超链接形式标明文章原始出处和作者信息
网址: http://www.cnblogs.com/panfeng412/archive/2013/03/22/hadoop-capacity-scheduler-configuration.html
这里参考Capacity Scheduler Guide,结合自己的实践经验,对Capacity Scheduler的主要配置参数进行总结。以下标记为红色的部分大都是自己曾踩过坑的地方,希望能给大家带来帮助。
mapred.capacity-scheduler.queue.<queue-name>.capacity:设置调度器中各个queue的容量,这里指的是占用的集群的slots的百分比,需要注意的是,所有queue的该配置项加起来必须小于等于100,否则会导致JobTracker启动失败。
mapred.capacity-scheduler.queue.<queue-name>.maximum-capacity:设置调度器中各个queue最大可以占有的容量,默认为-1表示最大可以占有集群100%的资源,和设置为100的效果是一样的。
mapred.capacity-scheduler.queue.<queue-name>.minimum-user-limit-percent:当queue中多个用户出现slots竞争的时候,限制每个用户的slots资源的百分比。举个例子,当minimum-user-limit-percent设置为25%时候,如果queue中有多余4个用户同时提交job,那么调度器保证每个用户占有的slots不超过queue中slots数的25%,默认为100表示不对用户作限制。
mapred.capacity-scheduler.queue.<queue-name>.user-limit-factor:设置queue中用户可占用queue容量的系数,默认为1表示,queue中每个用户最多只能占有queue的容量(即mapred.capacity-scheduler.queue.<queue-name>.capacity),因此,需要注意的是,如果queue中只有一个用户提交job,且希望用户在集群不繁忙时候可扩展到mapred.capacity-scheduler.queue.<queue-name>.maximum-capacity指定的slots数,则必须相应调大user-limit-factor这个系数。
mapred.capacity-scheduler.queue.<queue-name>.supports-priority:设置调度器中各个queue是否支持job优先级,不用过多解释。
mapred.capacity-scheduler.maximum-system-jobs:设置调度器中各个queue中合起来共计可初始化后并发执行的job数,需要注意的是,各个queue会按照自己占有集群slots资源的比例(即mapred.capacity-scheduler.queue.<queue-name>.capacity)决定每个queue最多同时并发执行的job数!举个例子,假设maximum-system-jobs为20个,而queue1占集群10%资源,那么意味着queue1最多可同时并发运行2个job,如果碰巧是运行时间比较长的job的话,将直接导致其他新提交的job被JobTracker阻塞不能进行初始化!
mapred.capacity-scheduler.queue.<queue-name>.maximum-initialized-active-tasks:设置queue中所有并发运行job包含的task数的上限值,如果超过此限制,则新提交到该queue中的job会被排队缓存到磁盘上。
mapred.capacity-scheduler.queue.<queue-name>.maximum-initialized-active-tasks-per-user:设置queue中每个特定用户并发运行job包含的task数的上限值,如果超过此限制,则该用户新提交到该queue中的job会被排队缓存到磁盘上。
mapred.capacity-scheduler.queue.<queue-name>.init-accept-jobs-factor:设置每个queue中可容纳接收的job总数(maximum-system-jobs * queue-capacity)的系数,举个例子,如果maximum-system-jobs为20,queue-capacity为10%,init-accept-jobs-factor为10,则当queue中job总数达到10*(20*10%)=20时,新的job将被JobTracker拒绝提交。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架