yarn的介绍

### Yarn 的基本概念

 

Yarn 是 Hadoop 生态系统中的一个重要组成部分,它是一种分布式资源管理框架,旨在为大规模数据处理提供高效的资源管理和调度能力。以下是关于 Yarn 的一些核心概念:

 

#### 1. **Yarn 的定义**

Yarn 是一个资源调度平台,其主要功能是为计算程序(如 MapReduce)提供服务器运算资源。它可以看作是一个分布式的操作系统平台,而像 MapReduce 这样的计算框架则是运行在其上的应用程序。

 

---

 

#### 2. **Yarn 的架构组成**

 

Yarn 主要由以下几个关键组件构成:

 

- **ResourceManager (RM)**  

  ResourceManager 是整个系统的中心节点,负责全局的资源管理和分配工作。它的职责包括跟踪集群中可用的资源以及将这些资源分配给各个应用。ResourceManager 提供了一个接口来接收来自客户端的应用请求,并协调 ApplicationMaster 和 NodeManager 的交互。

 

- **NodeManager (NM)**  

  NodeManager 是每个节点上的代理服务,负责容器的生命周期管理、日志收集以及其他与单机相关的任务。NodeManager 向 ResourceManager 报告本地资源使用情况并接受指令以启动或停止容器。

 

- **ApplicationMaster (AM)**  

  每个提交到 Yarn 上的任务都会有一个对应的 ApplicationMaster 实例。它是特定于某个应用的实体,负责向 ResourceManager 请求资源,并与 NodeManager 协同完成具体的任务执行逻辑。此外,ApplicationMaster 还承担着监控和报告任务状态的责任。

 

- **Container**  

  Container 表示 Yarn 中的一个抽象单位,用于封装 CPU、内存等物理资源。当一个任务被分发至某台机器时,实际上就是通过创建一个新的 Container 来承载这个任务所需的环境配置及其实际运行过程。

 

---

 

#### 3. **Yarn 的工作机制**

 

Yarn 的整体运作流程如下所示:

 

1. 用户提交作业后,Client 将会联系 ResourceManager 并申请初始化 ApplicationMaster 所需的第一个 Container;

2. ResourceManager 接收到请求之后,在合适的节点上安排好相应的资源并将消息发送回 Client;

3. 随后,Client 又通知指定位置上的 NodeManager 创建出所期望的那个初始 Container;

4. 在此期间,NodeManager 开始加载必要的依赖项并通过内部机制激活 ApplicationMaster;

5. 成功启动后的 ApplicationMaster 继续向上级汇报自己的存在状况并向下层索求更多额外支持以便进一步扩展规模直至最终结束全部进程为止。

 

---

 

#### 4. **资源配置文件详解**

 

在日常运维过程中,`yarn-site.xml` 文件扮演了极为重要的角色,因为它包含了大量影响性能表现的关键参数设置。例如下面这段代码片段展示了如何调整最大优先级级别:

 

```xml

<property>

    <name>yarn.cluster.max-application-priority</name>

    <value>5</value>

</property>

```

 

这里 `<value>` 字段设定了当前集群所能容纳的最大应用程序优先级数值,默认情况下取值范围是从零开始直到设定上限之间任意整数均可适用。

 

---

 

### 使用场景举例

 

为了更好地理解 Yarn 如何发挥作用,我们可以考虑这样一个例子:假设有两台主机 A 和 B 构成的小型 Hadoop 集群,每台都具备双核处理器加 8GB RAM 容

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

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

相关文章

Spring-messaging-MessageHandler接口实现类ServiceActivatingHandler

ServiceActivatingHandler实现了MessageHandler接口&#xff0c;所以它是一个MessageHandler&#xff0c;在spring-integration中&#xff0c;它也叫做服务激活器&#xff08;Service Activitor&#xff09;&#xff0c;因为这个类是依赖spring容器BeanFactory的&#xff0c;所…

快速入门深度学习系列(2)----损失函数、逻辑回归、向量化

针对深度学习入门新手目标不明确 知识体系杂乱的问题 拟开启快速入门深度学习系列文章的创作 旨在帮助大家快速的入门深度学习 写在前面&#xff1a; 本系列按照吴恩达系列课程顺序发布(说明一下为什么不直接看原笔记 因为内容太多 没有大量时间去阅读 所有作者需要一次梳理…

KingBase问题篇

安装环境 操作系统&#xff1a;CentOS7 CPU&#xff1a;X86_64架构 数据库&#xff1a;KingbaseES_V008R006C009B0014_Lin64_install.iso 项目中遇到的问题 Q1. 执行sql中有字符串常量&#xff0c;且用双引号包裹&#xff0c;执行报错 A1. 默认KingBase不认双引号&#xff0…

濒危仙草的重生叙事:九仙尊米斛花节如何以雅集重构中医药文化IP

五月的霍山深处,层峦叠翠之间,中华仙草霍山米斛迎来一年一度的花期。九仙尊以“斛韵雅集,春野茶会”为主题,举办为期半月的米斛花文化节,融合中医药文化、东方美学与自然体验,打造一场跨越古今的沉浸式文化盛宴。活动涵盖古琴雅集、书法创作、茶道冥想、诗歌吟诵、民族歌舞等多…

LeetCode100.1 两数之和

今天晚上看了许多关于未来计算机就业的视频&#xff0c;有种正被贩卖焦虑的感觉&#xff0c;翻来覆去下决定先做一遍leetcode100给自己降降温&#xff0c;打算每周做四题&#xff0c;尽量尝试不同的方法与不同的语言。 一开始想到的是暴力解法&#xff0c;两层循环。数据量为1e…

python制造一个报错

以下是用Python制造常见错误的示例及解析&#xff0c;涵盖不同错误类型&#xff0c;便于理解调试原理&#xff1a; 一、语法错误 (SyntaxError) # 错误1&#xff1a;缺少冒号 if Trueprint("这行不会执行")# 错误2&#xff1a;缩进错误 def func(): print("未对…

idea整合maven环境配置

idea整合maven 提示&#xff1a;帮帮志会陆续更新非常多的IT技术知识&#xff0c;希望分享的内容对您有用。本章分享的是springboot的使用。前后每一小节的内容是存在的有&#xff1a;学习and理解的关联性。【帮帮志系列文章】&#xff1a;每个知识点&#xff0c;都是写出代码…

Node.js中那些常用的进程通信方式

文章目录 1 什么是子进程?2 核心方法详解2.1 `child_process.spawn(command, [args], [options])`2.2 `child_process.exec(command, [options], callback)`2.3 `child_process.execFile(file, [args], [options], callback)`2.4 `child_process.fork(modulePath, [args], [op…

Vue3吸顶导航的实现

吸顶导航实现 【实现目标】&#xff1a; 在Layout页面中&#xff0c;浏览器上下滚动时&#xff0c;距离顶部距离大于80px吸顶导航显示&#xff0c;小于则隐藏。 【实现过程】&#xff1a; 通过layout接口获取分类列表内容并使用categorystore进行状态管理&#xff0c;获取到…

双向长短期记忆网络-BiLSTM

5月14日复盘 二、BiLSTM 1. 概述 双向长短期记忆网络&#xff08;Bi-directional Long Short-Term Memory&#xff0c;BiLSTM&#xff09;是一种扩展自长短期记忆网络&#xff08;LSTM&#xff09;的结构&#xff0c;旨在解决传统 LSTM 模型只能考虑到过去信息的问题。BiLST…

2025年Flutter项目管理技能要求

在2025年&#xff0c;随着Flutter技术的广泛应用和项目复杂度的提升&#xff0c;项目管理的重要性愈发凸显。Flutter项目管理不仅需要技术能力&#xff0c;还需要良好的沟通、协调、规划和执行能力。本文将详细探讨2025年Flutter项目管理应具备的技能要求&#xff0c;帮助项目管…

OpenCV CUDA模块中逐元素操作------数学函数

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 在OpenCV的CUDA模块中&#xff0c;确实存在一系列用于执行逐元素数学运算的函数&#xff0c;包括指数、对数、平方根等。这些函数对于高级图像处…

PhpStudy | PhpStudy 工具安装 —— Kali Linux 系统安装 PhpStudy

&#x1f31f;想了解这个工具的其它相关笔记&#xff1f;看看这个&#xff1a;[网安工具] 服务器环境配置工具 —— PhpStudy 使用手册 笔者备注&#xff1a;演示虽然是 Kali Linux&#xff0c;但其实 Linux 系列都可以参考此流程完成安装。 在前面的章节中&#xff0c;笔者简…

第6讲、全面拆解Encoder、Decoder内部模块

全面拆解 Transformer 架构&#xff1a;Encoder、Decoder 内部模块解析&#xff08;附流程图小测验&#xff09; 关键词&#xff1a;Transformer、Encoder、Decoder、Self-Attention、Masked Attention、位置编码、残差连接、多头注意力机制 Transformer 自 2017 年诞生以来&am…

游戏引擎学习第283天:“让‘Standing-on’成为一个更严谨的概念

如果同时使用多个OpenGL上下文&#xff0c;并且它们都有工作负载&#xff0c;GPU或GPU驱动程序如何决定调度这些工作&#xff1f;我注意到Windows似乎优先处理活动窗口的OpenGL上下文&#xff08;即活动窗口表现更好&#xff09;&#xff0c;挺有意思的…… 当多个OpenGL上下文…

深度学习让鱼与熊掌兼得

通常,一个大的复杂的模型的loss会低,但是拟合方面不够,小的模型在拟合方面更好,但是loss高,我们可以通过深度学习来得到一个有着低loss的小模型 我们之前学过,peacewise linear可以用常数加上一堆这个阶梯型函数得到,然后因为peacewise linear可以逼近任何function,所以理论上…

如何在 AWS 上构建支持 AVIF 的前端图片优化方案

一、为什么使用 AVIF 图片格式&#xff1f; 优势点 说明 高压缩率 在相似质量下&#xff0c;AVIF 文件比 JPEG/PNG/WebP 更小&#xff0c;能有效节省带宽和存储空间。 更高画质 即使在低码率下也能保持清晰细节&#xff0c;减少压缩带来的马赛克或模糊问题。 支持透明度 …

C++中的std::allocator

C中的std::allocator 文章目录 C中的std::allocator1.std::allocator1.1C中的placement new 和operator new1.2一个custom allocator的实现1.3使用std::allocator_traits实现allocator 1.std::allocator C中的std::allocator默默工作在CSTL中的所有容器的内存分配上&#xff0…

CodeBuddy编程新范式

不会写&#xff1f;不想写&#xff1f; 腾讯推出的CodeBuddy彻底解放双手。 示例 以下是我对CodeBuddy的一个小体验。 我只用一行文字对CodeBuddy说明了一下我的需求&#xff0c;剩下的全部就交给了CodeBuddy&#xff0c;我需要做的就是验收结果即可。 1.首先CodeBuddy会对任…

QML学习01(设置宽度、高度、坐标点、标题,信号与槽,键盘事件)

QML学习 1、前言2、QML3、QML和QWidget的区别3、QtQuick下的Windows应用4、总结 1、前言 记录一下QML学习的过程&#xff0c;方便自己日后回顾&#xff0c;也可以给有需要的人提供帮助。 2、QML QML是 Qt 框架中的一种声明式编程语言&#xff0c;专门用于快速设计和开发用户…