十四、YARN核心架构

1、目标

(1)掌握YARN的运行角色和角色之间的关系

(2)理解使用容器做资源分配和隔离

2、核心架构

(1)和HDFS架构的对比

HDFS架构:

YARN架构:(主从模式)

(2)角色解释

ResourceManager:整个集群的资源调度者,负责协调各个程序所需要的资源。

NodeManager:单个服务器的资源调度者,负责调整单个服务器上的资源供给应用程序使用。

        在这里,我们可以将ResourceManager理解为一个项目的总经理,将NodeManager理解为每一个模块的负责人。

3、运行机制

(1)分配

        在2(2)中,我们提到,如果某个程序需要申请12G的内存空间,那个它就会向ResourceManager提出申请,ResourceManager收到申请之后,会向每个NodeManager发送命令(此处假设有三台NodeManager),会要求每一台NodeManager准备4G内存。

        此处存在一个问题,每台NodeMangager是如何精准的划分出4G内存空间呢?

(2)解决方案

        在这里,我们将每台NodeManager开辟出来的空间称之为“容器”。

        容器:英文名为Container,假设在运行程序时,ResourceManager要求A服务器开辟4G空间供程序使用,那么该服务器的NodeManager会先在该服务器中划分出4G的空间内存,然后将划分出来的内存空间交给程序使用。(注:容器是虚拟化的相关装置,后面会讲解。)

        在这里,划分出来的4G空间被称为“容器”,每个容器的大小上限是不变的,也就意味着该程序在此服务器内,只能使用4G大小的内存空间,如果超出了4G,就需要另外再次申请。

 4、总结

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

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

相关文章

医学检验系统LIS源码,C# +.Net+Oracle

LIS是HIS的一个组成部分,通过与HIS的无缝连接可以共享HIS中的信息资源,使检验科能与门诊部、住院部、财务科和临床科室等全院各部门之间协同工作。  体系结构:Client/Server架构 客户端:WPFWindows Forms 服务端:C…

escapeshellarg参数绕过和注入的问题

escapeshellcmd escapeshellcmd(string $command): string command--要转义的命令。 escapeshellcmd() 对字符串中可能会欺骗 shell 命令执行任意命令的字符进行转义。 此函数保证用户输入的数据在传送到 exec() 或 system() 函数,或者 执行操作符 之前进行转义。 …

pytest + yaml 框架 -60.git+jenkins+allure+钉钉通知反馈

前言 当我们自动化用例写完后,接下来就是如何运行用例,生成报告以及反馈通知了。 如果你们公司已经有jenkins了,那么直接集成到jenkins上构建你的自动化任务是非常方便的。 用例上传git仓库 第一步,将写好的自动化用例&#xf…

保障线程安全性:构建可靠的多线程应用

目录 引言 为什么线程安全性如此重要? 1. 竞态条件(Race Conditions) 2. 死锁(Deadlocks) 3. 数据竞争(Data Races) 4. 内存可见性(Memory Visibility) 面临的挑战…

一张图系列 - “leetcode快速复习“

什么是leetcode? LeetCode是一个在线评测平台,提供大量算法题目,可帮助程序员提高编程和算法能力。它主要提供算法和数据结构相关的练习题,包括各种难度级别的编程题,从简单的算法题到复杂的系统设计问题都有。用户可…

【玩转TableAgent数据智能分析】TableAgent全功能详解及多领域数据分析实践(中)不同领域数据分析实践

3 电影点评数据分析实践 利用本身自带的电影点评数据,来具体看一下TableAgent的分析能力,选择电影点评数据,智能体会自动导入该数据DMSC20000.csv,大小为3.3 MB。在数据信息展示区,就会显示出该数据,并提供…

知识付费平台选择指南:如何找到最适合你的学习平台?

在当今的知识付费市场中,用户面临的选择越来越多,如何从众多知识付费平台中正确选择属于自己的平台呢?下面,我们将为您介绍我有才知识付费平台相比同行的优势,帮助您做出明智的选择。 一、创新的技术架构,…

Java研学-MyBatis框架

一 MyBatis框架 1 框架介绍 框架:对基础代码进行封装并提供相应的API,调用API可省去一些代码的编写,从而提高效率。一个好的框架一定是经过测试,自身的功能已经实现,可以完成特定的功能。 2 MyBatis 框架 MyBatis 框…

基于物理的AlGaN/GaN HEMT器件2DEG电荷密度分析模型(文献阅读)

标题:A Physics-Based Analytical Model for 2DEG Charge Density in AlGaN/GaN HEMT Devices (IEEE TRANSACTIONS ON ELECTRON DEVICES) 重要公式 2DEG电荷密度建模的困难源于量子阱中Ef随ns的复杂变化。此关系由给出 n s D V t h [ l n ( l e E f − E 0 V t …

文献速递:PET-影像组学专题--PET衍生的影像组学和人工智能在乳腺癌中的应用:一篇系统综述

文献速递:PET-影像组学专题–PET衍生的影像组学和人工智能在乳腺癌中的应用:一篇系统综述 01 文献速递介绍 乳腺癌(BC)是目前流行度最高的恶性肿瘤,也是全球女性癌症相关死亡的第二大原因,过去十年间发病…

开个酸奶店需要投资多少钱,创业优势在哪里

作为酸奶店创业5年的创业者,我给大家做个详细全面的分析。让你花最少的钱开一家属于你的酸奶店! 这几年,随着奶茶店的烂大街,酸奶产品开始展露头脚,受到了无数消费者的追捧。从而很多创业者也瞄准了这个市场&#xff…

产品经理之Axure的元件库使用详细案例

⭐⭐ 产品经理专栏:产品专栏 ⭐⭐ 个人主页:个人主页 ​ 目录 前言 一.Axure的元件库的使用 1.1 元件介绍 1.2 基本元件的使用 1.2.1 矩形、按钮、标题的使用 1.2.2 图片及热区的使用 1.3 表单元件及表格元件的使用 1.3.1表单元件的使用 1.3.…

【Linux】进程周边004之进程的调度与切换(领略Linux系统进程调度算法的神奇)

👀樊梓慕:个人主页 🎥个人专栏:《C语言》《数据结构》《蓝桥杯试题》《LeetCode刷题笔记》《实训项目》《C》《Linux》 🌝每一个不曾起舞的日子,都是对生命的辜负 目录 前言 1.进程切换 2.进程调度 2.…

Infobright列存数据库原理介绍

简介 Infobright 是一个面向 OLAP 场景的开源列存数据库。比较容易找到代码的版本是 Infobright Community Edition 4.0.7,大概是 2006 年前后的代码。2016 年6 月,Infobright 决定停止开源1。由于它同时提供企业版和社区版,开源版本的功能相…

基于ssm大学学术交流论坛论文

摘 要 随着科学技术的飞速发展,各行各业都在努力与现代先进技术接轨,通过科技手段提高自身的优势;对于大学学术交流论坛当然也不能排除在外,随着网络技术的不断成熟,带动了大学学术交流论坛的发展,它彻底改…

C# 图解教程 第5版 —— 第18章 泛型

文章目录 18.1 什么是泛型18.2 C# 中的泛型18.3 泛型类18.3.1 声明泛型类18.3.2 创建构造类型18.3.3 创建变量和实例18.3.4 使用泛型的示例18.3.5 比较泛型和非泛型栈 18.4 类型参数的约束18.4.1 Where 子句18.4.2 约束类型和次序 18.5 泛型方法18.5.1 声明泛型方法18.5.2 调用…

Linux系统中如何开启和配置OpenGauss数据库的远程连接

文章目录 前言1. Linux 安装 openGauss2. Linux 安装cpolar3. 创建openGauss主节点端口号公网地址4. 远程连接openGauss5. 固定连接TCP公网地址6. 固定地址连接测试7. 结语 前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍…

基于Maven构建OSGI应用(Maven和OSGI结合)

基于Maven构建OSGI应用。 使用Maven来构建项目,包括项目的创建、子模块buldle的创建等。使用OSGI来实现动态模块化管理,实现模块的热插拔效果(即插即用)。 创建一个Maven项目:helloworld,并在该项目下创建…

selenium/webdriver运行原理与机制

最近在看一些底层的东西。driver翻译过来是驱动,司机的意思。如果将webdriver比做成司机,竟然非常恰当。 我们可以把WebDriver驱动浏览器类比成出租车司机开出租车。在开出租车时有三个角色: 乘客:他/她告诉出租车司机去哪里&…

解决因找不到qt5core.dll文件而导致无法执行代码问题

Qt5core.dll是Qt5框架的核心模块,用于提供基本的Qt功能。如果在代码执行过程中找不到qt5core.dll,可能导致相关功能无法正常使用。以下是五种详细解决方法、qt5core.dll文件详细介绍以及丢失原因。 一、qt5core.dll文件详细介绍 文件名称:q…