YARN的设计思想

news2024/12/24 0:10:08

YARN的设计思想

​ YARN的基本思想是将资源管理和作业调度/监视功能划分为单独的守护进程。其思想是拥有一个全局ResourceManager (RM),以及每个应用程序拥有一个ApplicationMaster (AM)。应用程序可以是单个作业,也可以是一组作业。

image-20220203020600103

一个ResourceManager和多个NodeManager构成了YARN资源管理框架。他们是YARN启动后长期运行的守护进程,来提供核心服务。

  • ResourceManager

    RM是一个全局的资源管理器,集群只有一个,负责整个系统的资源管理和分配,包括处理客户端请求、启动/监控APP master、监控nodemanager、资源的分配与调度。它主要由两个组件构成:调度器(Scheduler)和应用程序管理器(Applications Manager,ASM)。
    (1)调度器调度器根据容量、队列等限制条件(如每个队列分配一定的资源,最多执行一定数量的作业等),将系统中的资源分配给各个正在运行的应用程序。需要注意的是,该调度器是一个“纯调度器”,它不再从事任何与具体应用程序相关的工作,比如不负责监控或者跟踪应用的执行状态等,也不负责重新启动因应用执行失败或者硬件故障而产生的失败任务,这些均交由应用程序相关的ApplicationMaster完成。调度器仅根据各个应用程序的资源需求进行资源分配,而资源分配单位用一个抽象概念“资源容器”(Resource Container,简称Container)表示,Container是一个动态资源分配单位,它将内存、CPU、磁盘、网络等资源封装在一起,从而限定每个任务使用的资源量。此外,该调度器是一个可插拔的组件,用户可根据自己的需要设计新的调度器,YARN提供了多种直接可用的调度器,比如FairScheduler和Capacity Scheduler等。
    (2)应用程序管理器应用程序管理器负责管理整个系统中所有应用程序,包括应用程序提交、与调度器协商资源以启动ApplicationMaster、监控ApplicationMaster运行状态并在失败时重新启动它等。

  • NodeManager

    Nodemanager整个集群有多个,负责每个节点上的资源和使用。功能:单个节点上的资源管理和任务。处理来自于resourcemanager的命令。处理来自域app master的命令。Nodemanager管理着抽象容器,这些抽象容器代表着一些特定程序使用针对每个节点的资源。Nodemanager定时地向RM汇报本节点上的资源使用情况和各个Container的运行状态(cpu和内存等资源)

  • container

    Container是YARN中的资源抽象,它封装了某个节点上的多维度资源,如内存、CPU、磁盘、网络等,当AM向RM申请资源时,RM为AM返回的资源便是用Container表示的。YARN会为每个任务分配一个Container,且该任务只能使用该Container中描述的资源。目前为止,YARN仅支持CPU和内存两种资源,且使用了轻量级资源隔离机制Cgroups进行资源隔离。功能:对task环境的抽象描述一系列信息任务运行资源的集合(cpu、内存、io等)任务运行环境

  • ApplicationMaster(简称AM)

    管理YARN内运行的应用程序的每个实例。(提交几个作业就有且仅有一个)功能:数据切分为应用程序申请资源并进一步分配给内部任务。任务监控与容错负责协调来自resourcemanager的资源,并通过nodemanager监视容易的执行和资源使用情况。

YARN的角色MapReduce 1.x的角色
ResourceManager、Application Master、Timeline ServerJobTracker
NodeManagerTaskTracker
ContainerSlot
  • 为什么2.x会比1.x更好?

    在1.x中JobTracker类似于之间HDSF结构的完全分布式的NameNode节点,单节点负载过重(既要分配任务也要资源管理)而且存在单点故障问题,在2.x中提供了Yarn的概念并且将JobTracker拆分成了两个单独的服务,一个是全局的资源管理器ResourceManager,另外一个就是每个程序都有的特定应用程序ApplicationManager,而且Yarn模式是支持(HA操作)所以也抗单点故障问题

     

更多大数据精彩内容欢迎B站搜索“千锋教育”或者扫码领取全套资料 

【千锋教育】大数据开发全套教程,史上最全面的大数据学习视频

 

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

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

相关文章

【Linux从入门到精通】进程的控制(进程替换)

本篇文章会对进程替换进行讲解。希望本篇文章会对你有所帮助 文章目录 一、进程替换概念 二、进程替换函数 2、1 execl 2、2 execlp 2、3 execv 2、3 execle 2、4 execve 三、总结 🙋‍♂️ 作者:Ggggggtm 🙋‍♂️ 👀 专栏&…

SpringBoot项目修改Tomcat版本号

SpringBoot项目修改Tomcat版本号 前言如果项目是以jar包形式打包部署如果项目是以war包形式打包部署示例 仰天大笑出门去,我辈岂是蓬蒿人 前言 Springboot项目,默认是使用内嵌Tomcat servlet容器形式打包部署。关于怎么修改默认的版本号,捣鼓了好久终于…

ChatGPT的工作原理:从输入到输出

🌷🍁 博主 libin9iOak带您 Go to New World.✨🍁 🦄 个人主页——libin9iOak的博客🎐 🐳 《面试题大全》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~&#x1f33…

Day 42 算法记录|动态规划 09 (打家劫舍)

打家劫舍 198.打家劫舍213.打家劫舍II337.打家劫舍 III 198.打家劫舍 1.dp[i]:考虑下标i(包括i)以内的房屋,最多可以偷窃的金额为dp[i]。 2.dp[i] max(dp[i - 2] nums[i], dp[i - 1]); 3.初始化,dp[0] 和 dp[1]&…

2021 年高教社杯全国大学生数学建模竞赛 E 题 中药材的鉴别 第一题

目录 1.数据预处理 1.1 数据基本信息探索 1.2 数据可视化 1.3 异常值处理 2. 数据特征值提取 2.1 数据标准化 2.2 PCA提取特征值 3. 数据聚类鉴别药材种类 3.1 肘部图确定K值 3.2 轮廓系数图确定K值 3.3 数据聚类 3.4 聚类结果可视化 4. 研究不同种类药材…

(10)强化:贪婪模式,捕获组,正则替换,正则分割,反向引用,UBB,断言,委托,Invoke,lambda,Action

一、作业问题 1、问:.net正则表达式默认使用unix的正则表达式模式? 答:在C#和.NET中,默认使用的是基于ECMAScript标准的正则表达式模式,而不是UNIX风 格的正则表达式模式。 …

MATLAB与ROS联合仿真——ROS环境搭建及相关准备工作(下)

本篇文章主要介绍在安装完ROS后,在进行MATLAB与ROS联合仿真之前,需要进行的一些环境搭建以及准备工作,主要分为 创建ROS工作空间及功能包、必备功能包安装、安装Gazebo11、导入实验功能包至工作空间、安装Visual_Studio_Code(选做)、常用便捷…

数据结构————顺序表

1.线性表 (1).线性表是n个具有相同特性的数据元素的有限序列。线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表,链表,栈,队列,字符串... (2).线…

如何学习python数据分析?

Python数据分析基础全流程攻略如下(适合初学、转岗、无编程基础小白,直接教学,没有额外链接) 一、学习 针对数据分析模块,python学习的内容并非全都要学(SQL也是如此),即不需要像程…

IT技术岗位应聘的关键技巧与准备方法

面试攻略: # 导入所需的模块 import pandas as pd import numpy as np# 定义一个函数,返回两个数字的和 def add_numbers(num1, num2):return num1 num2# 创建一个DataFrame data {"Name": ["Alice", "Bob", "Char…

新零售数字化商业模式如何建立?新零售数字化营销怎么做?

随着零售行业增速放缓、用户消费结构升级,企业需要需求新的价值增长点进行转型升级,从而为消费者提供更为多元化的消费需求、提升自己的消费体验。在大数据、物联网、5G及区块链等技术兴起的背景下,数字化新零售系统应运而生。 开利网络认为&…

微服务笔记---Nacos集群搭建

微服务笔记---Nacos集群搭建 Nacos集群搭建1.集群结构图2.搭建集群2.1.初始化数据库2.2.下载nacos2.3.配置Nacos2.4.启动2.5.nginx反向代理2.6.优化 Nacos集群搭建 1.集群结构图 官方给出的Nacos集群图: 其中包含3个nacos节点,然后一个负载均衡器代理…

实现Aware接口使用Spring底层组件

实现Aware接口使用Spring底层组件 Aware接口的实现类 基于Component,通过Aware的实现类在容器创建之前将Spring底层的信息获取并使用。 例如: 获取应用上下文对象applicationContext的ApplicationContextAware获取该类的bean对象信息的BeanNameAware…

企业资产管理,这么用事半功倍!

在当今竞争激烈的商业环境中,有效地管理和追踪资产,对于实现高效运营、优化资源利用和降低成本至关重要。 资产管理系统的引入,不仅可以提高资产管理的透明度和准确性,还可以加强对资产生命周期的控制,从而使企业在日常…

Zabbix监控之分布式部署

文章目录 Zabbix监控之分布式部署zabbix proxy概述部署zabbix-proxy节点规划基础环境准备安装proxy以及数据库配置数据库添加服务端host解析修改zabbix-proxy配置文件启动代理服务器 zabbix页面(1)在zabbix页面添加代理(2)zabbix-agent连接proxy Zabbix监控之分布式部署 zabbi…

Django校园宿舍管理系统【纯干货分享,免费领源码】

摘 要 本论文主要论述了如何使用django开发一个校园宿舍管理系统,本系统将严格按照软件开发流程进行各个阶段的工作,采用B/S架构,面向对象编程思想进行项目开发。在引言中,作者将论述校园宿舍管理系统的当前背景以及系统开发的目的…

脑电信号处理与特征提取——1. 脑电、诱发电位和事件相关电位(胡理)

目录 一、 脑电、诱发电位和事件相关电位 1.1 EEG基本知识 1.2 经典的ERPs成分及研究 1.2.1 ERPs命名规则及分类 1.2.2 常见的脑电成分 1.2.3 P300及Oddball范式 1.2.4 N400成分 一、 脑电、诱发电位和事件相关电位 1.1 EEG基本知识 EEG(Electroencephalogram)&#x…

爬虫001_Pip指令使用_包管理工具_pip的使用_和源的切换---python工作笔记019

scrapy是一个爬虫的框架 确认一下pip这个python中的包管理工具是否已经安装好了 python的环境变量配置完了以后,还需要配置一下pip的环境变量 把这个目录配置好,这个pip的环境变量的配置很简单不多说了. 我们用pip安装一下包,我们安装到上面这个路径里面,就是python的安装路…

生态系统模型:SolVES、DNDC、CMIP6、GEE林业、APSIM、InVEST、META分析、文献计量学、无人机遥感、ArcGIS Pro模型等

【原文链接】:【科研必备软件教程】气象、生态、遥感、水文、洪水、语言、人工智能、地质等领域模型应用https://mp.weixin.qq.com/s/KgSvl20fIjTY0ZWDyF0-8A 【目录】: R语言在生态环境领域中的实践技术应用 CENTURY模型实践技术应用与案例分析 生态…

docker 禅道 不使用自建数据库 使用自定义数据库

网上关于docker 禅道使用非自带数据库资料好少,所以记录下,希望能帮助更多的人。 据说: 其他镜像都是内置了数据库, 如果使用外置的数据库,可以使用这个镜像 ​easysoft/quickon-zentao ​ 以上未知真伪&#xff…