Hadoop——Yarn 调度器和调度算法

Yarn 调度器和调度算法

YARN调度器(Scheduler)是负责将集群资源分配给不同应用程序的组件。它根据应用程序的资源需求和优先级,以及集群的资源供给情况,决定如何分配资源。YARN提供了多种调度器实现,每种调度器都有不同的调度算法和特点。

目前,Hadoop作业调度器主要有三种:FIFO、容量(Capacity Scheduler)和公平(Fair Scheduler)。Apache Apache Hadoop3.1.3 默认的资源调度器是Capacity Scheduler。 CDH框架默认调度器是Fair Scheduler。


1. FIFO调度器First-In-First-Out Scheduler):

  • FIFO 调度器(First In First Out):单队列,根据提交作业的先后顺序,先来先服务,按照应用程序提交的顺序分配资源
  • 当一个应用程序提交后,FIFO调度器会尽快为其分配所需资源,并等待该应用程序执行完成后再分配下一个应用程序的资源。
  • 这种调度器适用于简单的任务处理场景,但可能导致长作业等待时间过长,资源利用率较低

在这里插入图片描述

2. 容量调度器Capacity Scheduler):

  • Capacity Scheduler 是 Yahoo 开发的多用户调度器
  • 容量调度器是YARN提供的一种多队列调度器,它将集群的资源划分为多个队列,每个队列都有自己的资源配额。
  • 每个队列可以分配的资源由其配置的容量决定,但在集群资源未满时,队列可以使用其他队列的资源。
  • 这种调度器适用于多个应用程序之间的资源共享和隔离场景,可以根据不同应用程序的优先级和需求进行灵活的资源分配。
    在这里插入图片描述
  • 容量调度器资源分配算法:
    在这里插入图片描述

3. 公平调度器Fair Scheduler):

  • Fair Schedulere 是 Facebook 开发的多用户调度器。
  • 公平调度器是一种基于公平分享资源的调度器,它将集群资源公平地分配给各个应用程序。公平调度器通过动态调整每个应用程序的资源配额,以确保每个应用程序都能获得公平的资源份额。
  • 它支持多个应用程序同时运行,并可以根据应用程序的需求自动调整资源分配。公平调度器适用于资源共享场景,可以确保各个应用程序都能获得适当的资源,避免了长作业等待时间过长的问题。
    -在这里插入图片描述
    在这里插入图片描述

Fair策略和DRF(Dominant Resource Fairness)策略都是公平调度器(Fair Scheduler)中常用的调度算法,它们旨在确保资源在集群中被公平地分配给各个应用程序。

Fair策略(Fair Sharing):

Fair策略是最简单的公平调度算法之一,它的核心思想是将集群资源均匀地分配给所有的应用程序。Fair策略主要包括以下几个步骤:

  1. 资源分配:Fair策略根据当前集群中的资源情况,将资源均匀地分配给所有的应用程序。每个应用程序都会被分配到一定比例的资源,以确保每个应用程序都能获得公平的资源份额。

  2. 动态调整:Fair策略会动态地调整资源分配,以适应集群资源的变化和应用程序的需求变化。当集群资源有剩余时,Fair策略会将剩余资源分配给需要资源的应用程序,以提高资源的利用率

  3. 优先级支持:Fair策略可以支持为不同的应用程序设置优先级,以确保高优先级的应用程序可以优先获得资源。

  • Fair策略的优点是简单直观,能够实现资源的公平分配。
  • 但是,它可能无法满足一些特定应用程序的需求,如长时间运行的作业可能会等待时间过长。

DRF策略(Dominant Resource Fairness):

DRF策略是一种更为复杂和高效的公平调度算法,它考虑了各个应用程序对集群中不同资源的需求,并尽量满足每个应用程序对其“主导资源”的需求。DRF策略的核心思想是确保每个应用程序在其主导资源上获得公平的份额。

DRF策略主要包括以下几个步骤:

  1. 主导资源计算:DRF策略会根据每个应用程序的资源需求,计算出其在集群中的主导资源。主导资源通常是应用程序在资源利用上占比最大的资源,如内存、CPU等。

  2. 资源分配:DRF策略会优先满足每个应用程序对其主导资源的需求,确保每个应用程序都能获得公平的主导资源份额。如果集群资源有剩余,则会根据次要资源(非主导资源)的需求来分配剩余资源。

  3. 资源调整DRF策略会动态调整资源分配,以适应集群资源的变化和应用程序的需求变化。它会根据每个应用程序的主导资源和次要资源的需求,优先满足主导资源的需求,然后再分配剩余资源。

  • DRF策略的优点是能够更加精确地满足每个应用程序对资源的需求,提高了资源的利用率和集群的性能。
  • 但是,DRF策略的实现比较复杂,计算成本较高。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/826008.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何通过MSTSC连接Ubuntu的远程桌面?

正文共:666 字 12 图,预估阅读时间:1 分钟 前面我们介绍了如何通过VNC连接Ubuntu 18.04的远程桌面(Ubuntu 18.04开启远程桌面连接),非常简单。但是有小伙伴咨询如何使用微软的远程桌面连接MSTSC&#xff08…

Go栈内存管理源码解读

基本介绍 栈内存一般是由Go编译器自动分配和释放,其中存储着函数的入参和局部变量,这些参数和变量随着函数调用而创建,当调用结束后也会随之被回收。通常开发者不需要关注内存是分配在堆上还是栈上,这部分由编译器在编译阶段通过…

Android Studio学习笔记——广播机制Broadcast

Android Studio学习笔记——广播机制 5.1 广播机制简介5.2 接收系统广播5.2.1 动态注册监听网络变化5.2.2 静态注册实现开机启动 5.3 发送自定义广播5.3.1 发送标准广播5.3.2 发送有序广播 5.4 使用本地广播5.5 广播的最佳实践——强制下线功能 5.1 广播机制简介 安卓每个应用…

spring boot后端开发基础

spring boot后端开发基础 Spring Boot一、开发步骤二、Web分析三、跨域问题四、HTTP协议五、Web服务器六、响应前端请求七、springboot常用注解创建一个简单的RESTful API服务层和数据访问层配置类和Bean定义响应体和路径变量 Spring Boot 一、开发步骤 创建项目 添加依赖 项…

k8s部署Eureka集群

部署有状态负载 镜像配置: 环境变量如下: AUTHENTICATE_ENABLEtrue JAVA_OPTS-Dauth.userName账号 -Dauth.password密码 MY_POD_NAMEmetadata.name BOOL_REGISTERtrue BOOL_FETCHtrue APPLICATION_NAME负载名称 EUREKA_INSTANCE_HOSTNAME${MY_POD_NA…

webpack源码分析——enhanced-resolve库之getType、normalize、join和cachedJoin函数

一、PathType 路径类型 const PathType Object.freeze({Empty: 0, // 空Normal: 1, // 默认值Relative: 2, // 相对路径AbsoluteWin: 3, // win 下的绝对路径AbsolutePosix: 4, // posix 下的绝对路径Internal: 5 // enhanced-resolve 内部自定义的一种类型,具体是…

小程序AI智能名片S2B2C商城系统:做内容、造IP、玩社群打造私域流量的新营销秘籍

在数字化浪潮汹涌的新时代,小程序AI智能名片S2B2C商城系统正以其独特的魅力,引领着营销领域的新变革。这套系统不仅将人工智能与小程序技术完美结合,更通过创新的S2B2C模式,为企业打开了一扇通往成功的大门。 面对激烈的市场竞争&…

SQL注入作业

目录 一、万能密码和二阶注入测试 1.万能密码 2.二阶注入测试 二、联合查询注入测试 1.判断注入点 2.判断当前查询语句的列数 3.查询数据库基本信息 4.查询数据库中的数据 三、报错注入 1. 报错注入函数EXTRATVALUE 2.UPDATEXML 四、盲注测试 1.布尔盲注 判断数据…

Linux搭建Discuz论坛

搭建一个论坛 —接上篇博客 改名/etc/httpd/conf.d/vhosts.conf 》/etc/httpd/conf.d/vhosts.conf.bak [rootlocalhost conf.d]# mv /etc/httpd/conf.d/vhosts.conf /etc/httpd/conf.d/vhosts.conf.bak此时的vhosts.conf是一个新创建的文件,之前的vhosts.conf已经…

使用 Godot 游戏引擎为 Apple 的 visionOS 创建游戏和应用的平台

借助GodotVision ,您可以使用Godot 游戏引擎为 Apple VisionOS创建游戏和应用程序。 保卫牛城堡,一款使用 GodotVision 制作的 VisionOS 游戏 GodotVision 运行一个控制本机RealityKit 视图的无头 Godot实例。粗略地说:Godot 是后端,

毅速3D打印随形透气钢:革新传统,引领未来

透气钢,这种多孔金属材料,既融合了金属材料的坚固性,又具备了透气材料的通透性。尤其在注塑模具的制造中,透气钢的作用不可忽视。通过镶嵌透气钢,能够有效解决因困气产生的注塑问题,使成型加工更为完善&…

机器学习鸢尾花使用csv

操作流程 下载鸢尾花数据集导入需要的包读取数据并查看数据大小和长度划分训练集和测试集使用模型评估算法 下载鸢尾花数据集 链接:https://pan.baidu.com/s/1RzZyXsaiJB3e611itF466Q?pwdj484 提取码:j484 --来自百度网盘超级会员V1的分享导入需要…

矩阵混乱度(熵值)代码计算

1、先回顾下熵值的数据公式: 2、jax.numpy代码 注意的点:熵值计算的输入的必须是归一化的正值 import jax.numpy as jnp import jax def _entroy(probs):log_probs jnp.log2(jnp.maximum(1.0e-30, probs))mean_sum_plogp jnp.mean(- jnp.sum(log_pro…

vscode+vue开发常用插件整理

前言: vscode新机开发常用插件整理 1、chinese 简体中文配置 2、file-jump 别名跳转,可以把引入的组件,通过ctrl地址名 跳转组件内部 3、Vue Peek:vue项目中的一些配置,安装后,能实现 ctrl组件名 跳转…

Golang图像处理实战:image/png包的应用详解

Golang图像处理实战:image/png包的应用详解 介绍基本操作读取PNG文件保存PNG文件 处理图像数据修改图像像素图像裁剪和缩放 高级功能使用 image/color 处理颜色优化PNG性能 错误处理与调试常见错误及其解决方法文件无法打开图像解码失败 使用工具和库进行调试 结语 …

测试数据整理--chatgpt 构造sql语句导出数据库数据

在测试过程中,我们有时候需要准备一些测试数据,若从系统中直接导出Excel数据,数据往往庞大且需要整合,不好整理,于是我们直接去数据库中查询一些表,数据整合后直接导出结果会更方便。 我们今天就 用 chatg…

shell 调用钉钉通知

使用场景:机器能访问互联网,运行时间任务后通知使用 钉钉建立单人群 手机操作,只能通过手机方式建立单人群 电脑端 2. 配置脚本 #!/bin/bash set -e## 上图中 access_token字段 TOKEN KEYWORDhello # 前文中设置的关键字 function call_…

【jinja2】模板渲染

HTML文件 return render_template(index.html)h1: 一级标题 变粗变大(狗头

B02、JVM调优案例

1、调优的基本问题 1.1、为什么要调优? 目的是防止出现OOM,进行JVM规划和预调优;解决程序运行中各种OOM;以及减少Full GC出现的频率,解决运行慢、卡顿问题。 1.2、调优的大方向 合理的编写代码,充分并合理…

大气的免费wordpress模板

国产的wordpress模板,更适合中国人使用习惯,更符合中国老板的审美的大气wordpress企业官网建站模板。 WordPress模板,也称为主题,是用于定义WordPress网站或博客外观和功能的预设计文件集。这些模板使用HTML、CSS和PHP代码构建&a…