MapReduce作业的调度

                                                                     MapReduce作业的调度
历史发展:
①按照作业的提交顺序执行,即先进先出(FIFO)调度算法来运行作业;
存在的问题,一些阻塞型任务会持续占有资源,使得任务无法进行。可以类似单线程相对于多线程存在的阻塞问题。
②作业优先级调度算法
存在的问题:优先级不支持抢占,仍然存在上一个算法的阻塞问题;
③MapReduce的调度器;
当前的使用的默认作业调度算法,多用户的调度器,分别为公平调度器和容量调度器。
Ⅰ公平调度器(可以同时运行几个任务):
目标就是让每个用户公平共享集群;
当只有一个任务时,这个任务就会占有集群全部的资源。新增加一个任务时,会分配时间片来执行此任务。每个任务占有一半的集群资源。每增加一个任务,就会重新分配集群资源。这个特性让小作业在合理的时间内完成的同时又不“饿”到消耗较长时间的大作业。
改进点1:可以用map和reduce的任务槽数来定制作业池的最小容量,也可以设置每个池的权重
改进点2:支持抢占机制;如果一个池在特定的时间内未能完成公平资源的共享,就会终止占有大量的作业任务,把资源分配到占有资源较小的作业任务。
Ⅱ容量调度器
采用的机制:集群有多个队列组成,在每个队列内部,作业根据FIFO(依靠优先级决定)进行调度
本质上:容量调度器允许用户或组织为每个用户或组织模拟出一个FIFO调度策略的独立MapReduce集群。
---------------------
作者:heishu007 (自己的CSDN
来源:CSDN
原文:https://blog.csdn.net/heishu007/article/details/70272183

posted @   上海小墨子  阅读(758)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示