MapReduce作业的调度
MapReduce作业的调度
历史发展:
①按照作业的提交顺序执行,即先进先出(FIFO)调度算法来运行作业;
存在的问题,一些阻塞型任务会持续占有资源,使得任务无法进行。可以类似单线程相对于多线程存在的阻塞问题。
②作业优先级调度算法;
存在的问题:优先级不支持抢占,仍然存在上一个算法的阻塞问题;
③MapReduce的调度器;
当前的使用的默认作业调度算法,多用户的调度器,分别为公平调度器和容量调度器。
Ⅰ公平调度器(可以同时运行几个任务):
目标就是让每个用户公平共享集群;
当只有一个任务时,这个任务就会占有集群全部的资源。新增加一个任务时,会分配时间片来执行此任务。每个任务占有一半的集群资源。每增加一个任务,就会重新分配集群资源。这个特性让小作业在合理的时间内完成的同时又不“饿”到消耗较长时间的大作业。
改进点1:可以用map和reduce的任务槽数来定制作业池的最小容量,也可以设置每个池的权重。
改进点2:支持抢占机制;如果一个池在特定的时间内未能完成公平资源的共享,就会终止占有大量的作业任务,把资源分配到占有资源较小的作业任务。
Ⅱ容量调度器
采用的机制:集群有多个队列组成,在每个队列内部,作业根据FIFO(依靠优先级决定)进行调度;
本质上:容量调度器允许用户或组织为每个用户或组织模拟出一个FIFO调度策略的独立MapReduce集群。
---------------------
作者:heishu007 (自己的CSDN)
来源:CSDN
原文:https://blog.csdn.net/heishu007/article/details/70272183
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!