大数据平台之YARN

news2024/12/23 14:05:28

Hadoop YARN(Yet Another Resource Negotiator)是Hadoop 2.x引入的一个通用资源管理和作业调度框架,它将资源管理和作业调度/监控分离开来,从而提升了集群的资源利用率和可扩展性。YARN是Hadoop生态系统的核心组件之一,支持不同类型的分布式计算框架和应用程序。以下是对YARN的详细介绍:

1. YARN的架构

YARN的架构由以下几个主要组件组成:

1.1 ResourceManager
  • 角色:ResourceManager是YARN的核心组件,负责整个集群的资源管理和分配。
  • 功能
    • 调度器(Scheduler):根据资源需求和调度策略分配资源给各个应用程序。
    • 应用管理器(ApplicationsManager):管理应用程序的生命周期,包括接受应用程序提交、启动应用程序主节点(ApplicationMaster)、监控应用程序执行状态以及处理故障重启等。
1.2 NodeManager
  • 角色:NodeManager是YARN架构中的从节点,负责管理单个计算节点的资源。
  • 功能
    • 资源监控:监控节点的资源使用情况(CPU、内存等)。
    • 容器管理:启动和停止容器(Container),容器是YARN中的资源分配单元。
    • 日志管理:收集和管理应用程序的日志信息。
1.3 ApplicationMaster
  • 角色:每个应用程序都有一个ApplicationMaster,负责管理应用程序的整个生命周期。
  • 功能
    • 资源请求:向ResourceManager请求资源。
    • 任务调度:将获得的资源分配给具体的任务,并监控任务的执行状态。
    • 故障恢复:处理任务的故障恢复和重启。
1.4 Container
  • 角色:Container是YARN的资源分配单元,包含特定量的CPU、内存等资源。
  • 功能
    • 任务执行:在分配的资源环境中执行具体的任务。

2. YARN的工作流程

2.1 应用程序提交

客户端向ResourceManager提交应用程序,包括应用程序代码、配置和启动ApplicationMaster所需的资源请求。

2.2 启动ApplicationMaster

ResourceManager为ApplicationMaster分配第一个Container,并在该Container中启动ApplicationMaster。

2.3 资源请求与分配

ApplicationMaster向ResourceManager请求更多的资源,以便启动应用程序的具体任务。ResourceManager根据资源使用情况和调度策略分配资源。

2.4 任务执行

ApplicationMaster在获得的资源Container中启动和监控任务,处理任务的执行、进度报告和故障恢复等。

2.5 应用程序完成

当应用程序所有任务完成后,ApplicationMaster向ResourceManager报告应用程序完成状态,释放资源。

3. YARN的调度策略

YARN提供了多种资源调度策略,以满足不同类型的工作负载需求:

3.1 FIFO调度器
  • 特点:先进先出(First-In-First-Out)调度策略,按照作业提交的顺序分配资源。
  • 适用场景:简单的批处理作业。
3.2 容量调度器
  • 特点:将集群资源划分为多个队列,每个队列分配一定的容量,支持多租户和资源隔离。
  • 适用场景:共享集群环境中的多租户资源管理。
3.3 公平调度器
  • 特点:确保每个作业公平地分配资源,避免某些作业长期占用大量资源。
  • 适用场景:需要公平分配资源的多租户环境。

4. YARN的优点

4.1 提高资源利用率
  • YARN通过动态分配资源,提升了集群的资源利用率,支持不同类型的计算框架和应用程序在同一集群上运行。
4.2 可扩展性
  • YARN的分布式架构支持大规模集群的扩展,能够处理更多的节点和应用程序。
4.3 多租户支持
  • YARN的容量调度器和公平调度器支持多租户资源管理和隔离,适合共享集群环境。
4.4 灵活性
  • YARN提供了通用的资源管理和调度框架,支持MapReduce、Spark、Tez等多种计算框架,具有很高的灵活性。

5. YARN的缺点

5.1 复杂性
  • YARN的架构和配置较为复杂,管理和调优需要较高的技术水平。
5.2 调度延迟
  • 资源调度和任务启动可能会有一定的延迟,影响短作业的执行效率。

6. YARN的应用场景

6.1 大数据处理
  • YARN是Hadoop生态系统的核心组件,支持MapReduce、Spark等大数据处理框架,广泛应用于数据处理和分析。
6.2 多租户环境
  • 共享集群中的多租户资源管理和隔离,适合大中型企业的数据中心和云计算环境。
6.3 数据仓库和ETL
  • 在数据仓库和ETL(抽取、转换、加载)处理中,YARN提供了高效的资源管理和调度能力。

7. YARN的改进和优化

7.1 YARN Federation
  • 特点:YARN Federation通过将多个YARN集群联合起来,形成一个虚拟的大集群,提升了集群的可扩展性和管理性。
  • 适用场景:超大规模集群和跨数据中心的资源管理。
7.2 Timeline Service
  • 特点:YARN Timeline Service用于收集和存储应用程序的历史信息,支持应用程序监控和分析。
  • 适用场景:应用程序性能监控和日志分析。

YARN通过提供灵活的资源管理和调度框架,支持多种分布式计算框架和应用程序,是Hadoop生态系统的关键组件之一。它在大数据处理、多租户环境和数据仓库等场景中具有广泛的应用。

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

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

相关文章

Go 1.19.4 函数-Day 08

1. 函数概念和调用原理 1.1 基本介绍 函数是基本的代码块,用于执行一个任务。 Go 语言最少有个 main() 函数。 你可以通过函数来划分不同功能,逻辑上每个函数执行的是指定的任务。 函数声明告诉了编译器函数的名称,返回类型,和参…

持续集成06--Jenkins构建触发器

前言 在持续集成(CI)的实践中,构建触发器是自动化流程中不可或缺的一环。它决定了何时启动构建过程,从而确保代码变更能够及时地得到验证和反馈。Jenkins,作为业界领先的CI/CD工具,提供了多种构建触发器选项…

【C++编程】双端数组 deque 容器基本操作

🔥 特点:deque 头插、头删速度比 vector 快 deque 是一个双向队列(double-ended queue),可以在队列的两端进行元素的插入和删除操作。 deque 涵盖了 queue(队列)、stack(堆栈&#x…

一五六、Node+Vue 使用七牛上传图片,并配置个人域名

1. 七牛云ak/sk获取 点击注册🔗开通七牛开发者帐号如果已有账号,直接登录七牛开发者后台,点击这里🔗查看 Access Key 和 Secret Key 2. Node.js获取七牛token 安装qiniu npm install qiniu创建空间 Node获取token const qi…

在SpringCloud中如何轻松实现微服务间的通信

在Spring Cloud中,实现微服务间的通信非常简单。Spring Cloud提供了多种方式来进行微服务之间的通信,包括使用RestTemplate、Feign、Ribbon、Eureka等组件。下面我将详细介绍这些方式的使用方法。 使用RestTemplate进行通信: RestTemplate是S…

ECCV2024|GLAD:利用全局和局部自适应扩散模型实现更好的无监督异常检测重建

GLAD:利用全局和局部自适应扩散模型实现更好的无监督异常检测重建 论文标题:GLAD: Towards Better Reconstruction with Global and Local Adaptive Diffusion Models for Unsupervised Anomaly Detection 论文地址:https://arxiv.org/abs/2…

字符串类中的常用方法

1 string对象的创建 静态创建 String s1  "abc";  String s2  "abc";  动态创建 String s3  new String("abc"); String s4  new String("abc"); 2string对象的不可变性 任何一个String对象在创建之后都不能对它的…

blender中设置物体的中心到某个顶点

方式一: 1,首先选中物体, 2,选中编辑模式, 3,选中点模式,并选择物体的一个顶点 4,鼠标点击右键---- 吸附至像素点--游标->选中项,这样,游标移动到了选中…

PulsarClient源码解析

一、Pulsar客户端简析 pulsar服务是经典的C/S架构,由客户端和服务端构成。服务端提供处理读写请求服务,客户端负责发起读写请求。pulsar将客户端按照读写分成了生产者和消费者,但是无论怎么分,它们本质上都是Pulsar客户端并有很多…

QT--控件篇四

一、对话框 在软件开发中,对话框(Dialog)是一种常见的用户界面元素,用于与用户进行交互和获取信息。它通常以模态或非模态的形式出现,模态对话框会阻止用户与应用程序的其他部分交互,直到对话框关闭为止&a…

快速排序(quick sort)

欢迎来到一夜看尽长安花 博客,您的点赞和收藏是我持续发文的动力 对于文章中出现的任何错误请大家批评指出,一定及时修改。有任何想要讨论的问题可联系我:3329759426qq.com 。发布文章的风格因专栏而异,均自成体系,不足…

nftables(9)NAT、FLOWTABLES

NAT NAT简介 我们在iptables、firewalld中都介绍过有关NAT的相关部分。那么在nftables中,我们继续介绍nftables中NAT的功能实现方式,配置方法和与前两者的区别。 我们先简单回顾一下NAT的类型和其功能: 这些是不同的网络地址转换&#xf…

在 Windows 上开发.NET MAUI 应用_1.安装开发环境

开发跨平台的本机 .NET Multi-platform App UI (.NET MAUI) 应用需要 Visual Studio 2022 17.8 或更高版本,或者具有 .NET MAUI 扩展的最新 Visual Studio Code。要开始在 Windows 上开发本机跨平台 .NET MAUI 应用,请按照安装步骤安装 Visual Studio 20…

leetcode94. 二叉树的中序遍历,递归法+迭代法。附带前序遍历方法

leetcode94. 二叉树的中序遍历 给定一个二叉树的根节点 root ,返回 它的 中序 遍历 。 示例 1: 输入:root [1,null,2,3] 输出:[1,3,2] 示例 2: 输入:root [] 输出:[] 示例 3: …

高职综合布线实训室

一、高职综合布线实训室建设背景 随着《国民经济和社会发展第十四个五年规划和2035年远景目标纲要》的深入实施,数字化转型已成为国家发展的核心战略之一,计算机网络技术作为数字化建设的基石,其重要性日益凸显。然而,面对数字时代…

【手撕RLHF-DPO(1)】不是PPO训不起,而是DPO更有性价比!

Introduction Direct Preference Optimization: Your Language Model is Secretly a Reward Model 在LLM对齐问题上,OpenAI提出的RLHF训练范式最为人熟知,同时也是ChatGPT行之有效的对齐方案。 RLHF通常包含三个步骤:SFT, Reward Model, PPO…

【STM32】RTT-Studio中HAL库开发教程三:IIC通信--AHT20

文章目录 一、I2C总线通信协议二、AHT20传感器介绍三、STM32CubeMX配置硬件IIC四、RTT中初始化配置五、具体实现代码六、实验现象 一、I2C总线通信协议 使用奥松的AHT20温湿度传感器,对环境温湿度进行采集。AHT20采用的是IIC进行通信,可以使用硬件IIC或…

Visual Studio使用——在vs中给vb.net项目添加新的窗口:新建的方式、添加已有窗口的方式

目录 引出Visual Studio使用vb添加新的窗体自定义代码片段vs显示所有文件 总结Idea安装和使用0.Java下载 和 IDEA工具1.首次新建项目2.隐藏文件不必要显示文件3.目录层级设置4.Settings设置选择idea的场景提示代码不区分大小写 取消git的代码作者显示 引出 Visual Studio使用—…

trl - 微调、对齐大模型的全栈工具

文章目录 一、关于 TRL亮点 二、安装1、Python包2、从源码安装3、存储库 三、命令行界面(CLI)四、如何使用1、SFTTrainer2、RewardTrainer3、PPOTrainer4、DPOTrainer 五、其它开发 & 贡献参考文献最近策略优化 PPO直接偏好优化 DPO 一、关于 TRL T…

安全防御,防火墙配置NAT转换智能选举综合实验

目录: 一、实验拓扑图 二、实验需求 三、实验大致思路 四、实验步骤 1、防火墙的相关配置 2、ISP的配置 2.1 接口ip地址配置: 3、新增设备地址配置 4、多对多的NAT策略配置,但是要保存一个公网ip不能用来转换,使得办公区的…