当前位置: 首页 > news >正文

Yarn面试重点

文章目录

  • 1. 简述Yarn集群的架构
  • 2. Yarn 的任务提交流程是怎样的?
  • 3. yarn的资源调度的三种模型

1. 简述Yarn集群的架构

YARN(Yet Another Resource Negotiator)是Hadoop 2.x引入的资源管理器,用于管理Hadoop集群中的资源和作业调度。YARN的架构设计使得Hadoop可以运行更多类型的应用程序,而不仅仅是MapReduce。以下是YARN集群的主要组件和架构:

  1. ResourceManager(资源管理器):

    • ResourceManager是YARN的主要组件之一,负责整个集群的资源管理和作业调度。
    • ResourceManager有两个主要组件:Scheduler(调度器)和 ApplicationsManager(应用程序管理器)。
    • Scheduler负责为提交的作业分配资源,并监控资源的使用情况。
    • ApplicationsManager负责接收来自客户端的作业提交请求,并为每个作业分配一个ApplicationMaster。
  2. NodeManager(节点管理器):

    • NodeManager是运行在集群中每个节点上的代理,负责本地资源的管理和任务的监控。
    • NodeManager负责与ResourceManager通信,报告节点的资源使用情况,并接收来自ResourceManager的任务分配。
  3. ApplicationMaster(应用程序主管):

    • ApplicationMaster是运行在集群中每个作业所分配的节点上的进程,负责管理该作业的执行过程。
    • 每个作业都有一个对应的ApplicationMaster,它负责与ResourceManager交互,请求资源、监控任务的执行进度,并处理任务执行过程中的错误。
  4. Container(容器):

    • Container是YARN中的基本单位,用于表示分配给作业的资源,如CPU、内存等。
    • 每个任务都运行在一个容器中,NodeManager负责启动和监控容器的执行。
  5. ResourceManager和NodeManager通信:

    • ResourceManager和NodeManager之间通过心跳机制保持通信。
    • NodeManager会定期向ResourceManager发送心跳,报告节点的资源使用情况和容器状态。
    • ResourceManager通过心跳机制监控节点的健康状态,并根据需要进行资源重新分配。

总体而言,YARN集群的架构是一个分布式资源管理系统,通过ResourceManager和NodeManager协同工作,实现对集群资源的有效管理和作业调度,支持多种类型的应用程序运行在Hadoop集群中。

2. Yarn 的任务提交流程是怎样的?

YARN的任务提交流程涉及到客户端、ResourceManager、NodeManager和ApplicationMaster之间的协作。以下是一般情况下YARN任务提交的流程:

  1. 客户端提交作业:

    • 用户使用命令行工具(如yarn命令)或编程接口(如YARN API)提交作业到YARN集群。
    • 客户端会向ResourceManager提交作业的描述信息,包括作业的名称、资源需求、运行命令等。
  2. ResourceManager接收作业请求:

    • ResourceManager接收到作业请求后,将请求转发给ApplicationsManager。
  3. ApplicationsManager接收作业请求:

    • ApplicationsManager负责接收来自客户端的作业请求。
    • 它为每个作业分配一个唯一的作业ID,并启动一个新的ApplicationMaster来管理该作业。
  4. 启动ApplicationMaster:

    • ResourceManager将作业的描述信息发送给NodeManager所在的节点,请求启动ApplicationMaster。
    • NodeManager收到请求后,启动一个新的进程,即ApplicationMaster,以便管理该作业的执行过程。
  5. ApplicationMaster向ResourceManager注册:

    • ApplicationMaster启动后,首先会向ResourceManager注册自己。
    • 注册过程中,ApplicationMaster会提供作业的描述信息,包括作业ID、资源需求等。
  6. 资源分配给作业:

    • ResourceManager收到ApplicationMaster的注册请求后,根据作业的资源需求和集群的资源情况,为该作业分配适当的资源(如CPU、内存等)。
  7. 执行作业任务:

    • ApplicationMaster根据ResourceManager分配的资源,向ResourceManager请求运行容器(Container)。
    • ResourceManager根据容器的需求和集群的资源情况,在合适的节点上启动容器,并分配给作业执行。
    • NodeManager接收到容器启动请求后,启动容器并运行作业任务。
  8. 监控作业执行:

    • ApplicationMaster负责监控作业任务的执行进度、容器的状态以及节点的健康状况。
    • 如果有任何错误或容器失败,ApplicationMaster会向ResourceManager报告,并请求重新分配资源。
  9. 作业完成和资源释放:

    • 当作业执行完成时,ApplicationMaster会向ResourceManager发送作业完成的通知。
    • ResourceManager接收到通知后,释放与该作业相关的资源,并清理作业的状态信息。

总体而言,YARN任务提交流程涉及到客户端提交作业、ResourceManager接收作业请求、ApplicationsManager分配ApplicationMaster、启动ApplicationMaster、资源分配和执行作业任务等多个阶段。这些组件之间的协作确保了作业能够在集群中有效地执行。

3. yarn的资源调度的三种模型

YARN(Yet Another Resource Negotiator)的资源调度模型是设计用于管理和分配Hadoop集群中的资源。它支持多种资源调度模型,其中最常见的三种模型包括:FIFO调度器、容量调度器和公平调度器。

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

    • FIFO调度器是YARN最简单的调度模型,它按照作业提交的顺序依次分配资源。
    • 当作业提交时,FIFO调度器将分配整个集群中的第一个可用资源给该作业,而不考虑其他作业的需求和资源利用率。
    • 这意味着,如果一个大型作业先于多个小型作业提交,则大型作业将占用所有资源,小型作业需要等待大型作业完成才能运行。
  2. 容量调度器(Capacity Scheduler):

    • 容量调度器是YARN的高级调度模型,它允许管理员将集群资源划分为多个独立的队列,并为每个队列分配一定的资源容量。
    • 每个队列可以配置不同的调度策略,如FIFO、公平调度等,以满足不同队列的需求。
    • 容量调度器允许管理员为不同的用户、部门或应用程序分配独立的队列,并确保它们不会相互干扰。
    • 该调度器还支持优先级调度,管理员可以为队列配置不同的优先级,以确保重要作业优先获得资源。
  3. 公平调度器(Fair Scheduler):

    • 公平调度器是另一种高级调度模型,它旨在提供更加公平和灵活的资源分配方式。
    • 公平调度器将集群资源按照作业的需求动态分配,以确保所有作业都能获得相等的资源份额。
    • 该调度器根据作业的需求和优先级动态调整资源分配,以最大程度地提高集群资源的利用率和作业的执行效率。
    • 公平调度器还支持弹性资源池,允许多个队列共享同一池的资源,并根据实际需求动态分配资源。

总的来说,FIFO调度器、容量调度器和公平调度器是YARN中常用的三种资源调度模型,每种模型都有其适用的场景和优缺点。管理员可以根据集群的特点和需求选择合适的调度模型来管理和优化资源分配。

相关文章:

Yarn面试重点

文章目录 1. 简述Yarn集群的架构2. Yarn 的任务提交流程是怎样的?3. yarn的资源调度的三种模型 1. 简述Yarn集群的架构 YARN(Yet Another Resource Negotiator)是Hadoop 2.x引入的资源管理器,用于管理Hadoop集群中的资源和作业调…...

高速口光口通信

1.通过transceiver ip 设置好硬件连接配置 2.open example 用自己的模块替换掉tx和rx数据模块 3.大小端问题—— 4.配置gt收发器的rx的k码时候需要设置anybyte便于高效率接收。 5.开发数据产生模块和接收校验模块都需要使用TXUSRCLK2,但是TXUSRCLK线速度/内部数据位宽。——…...

python--剑指offer--15. 二进制中1的个数

编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 ‘1’ 的个数(也被称为 汉明重量).)。 提示: 请注意,在某些语言(如 Java&…...

uniapp h5 部署

uniapp 配置 服务器文件路径 打包文件结构 //nginx 配置 server {listen 8300;server_name bfqcwebsiteapp;charset utf-8;#允许跨域请求的域,* 代表所有add_header Access-Control-Allow-Origin *;#允许带上cookie请求add_header Access-Control-Allow-C…...

排序算法:快速排序(递归)

文章目录 一、创始人托尼霍尔的快速排序二、挖坑法三、前后指针法 所属专栏:C初阶 引言:这里所说的快速排序有三种,第一种是霍尔大佬自创的,还有一种叫做挖坑法,另外一种叫前后指针法 一、创始人托尼霍尔的快速排序 1.这里我们先…...

蓝桥杯每日一题(BFS)

1562 微博转发 开始思路错误点:在用拉链法保存关注信息的时候,因为要看一个用户发的有多少转发的,所以要以用户为坑位,所有关注这个坑位的用户为链表。(开始弄反了) e数组存某个用户的idx,ne是…...

【C语言】linux内核pci_save_state

一、中文注释 //include\linux\pci.h /* 电源管理相关的例程 */ int pci_save_state(struct pci_dev *dev);//drivers\pci\pci.c /*** pci_save_state - 在挂起前保存PCI设备的配置空间* dev: - 我们正在处理的PCI设备*/ int pci_save_state(struct pci_dev *dev) {int i;/* X…...

轻松打造完美原型:9款在线工具推荐

早年,UI设计师选择的工具有限,功能相对单一,大多数在线原型设计工具都是国外的,语言和网络都增加了设计工作的负担。如今,国内外有许多在线原型设计工具,不仅可以在浏览器上使用,而且还具有团队…...

Vue3中Pinia状态管理库学习笔记

pinia的基本使用 <template><div><h2>Home View</h2> <h2>count:{{ counterStore.count }}</h2><h2>count:{{ count }}</h2><button click"increment">count1</button></div> </template>…...

共谋企业出海新篇章纷享销客荣获数字中国企业峰会“卓越成果奖”

3月9日&#xff0c;2024数字中国企业峰会在杭州西湖中维香溢大酒店成功举办&#xff0c;众多数字化领域专家、知名企业 CIO 代表到场。峰会旨在推动数字化转型与创新发展&#xff0c;为企业出海和国际合作搭建交流与合作的平台。本次峰会的颁奖环节&#xff0c;纷享销客凭借其卓…...

【MySQL】group_concat 函数和 locate 函数运用之找到每篇文章的主题

力扣题 1、题目地址 2199. 找到每篇文章的主题 2、模拟表 表&#xff1a;Keywords Column NameTypetopic_idintwordvarchar (topic_id, word) 是该表的主键&#xff08;具有唯一值的列的组合&#xff09;。该表的每一行都包含一个主题的 id 和一个用于表达该主题的词。可…...

RedisCluster集群中的插槽为什么是16384个?

RedisCluster集群中的插槽为什么是16384个&#xff1f; CRC16的算法原理。 1.根据CRC16的标准选择初值CRCIn的值2.将数据的第一个字节与CRCIn高8位异或3.判断最高位&#xff0c;若该位为0左移一位&#xff0c;若为1左移一位再与多项式Hex码异或4.重复3至9位全部移位计算结束5…...

一直出现问题,发现服务器磁盘空间已满导致,腾出服务器磁盘空间命令

要解决服务器磁盘空间已满的问题&#xff0c;你可以按照以下步骤操作&#xff1a; 查看磁盘使用情况&#xff1a;使用df -h&#xff0c; du -s -h ./*命令来查看服务器的磁盘空间使用情况。查找大文件&#xff1a;使用du -a | sort -rn | head -5命令来找出占用空间最大的前5个…...

吴恩达机器学习笔记 二十三 倾斜数据集的误差指标 精确率 召回率 精确率与召回率的平衡 F1分数

如果数据集的正例和反例的比例非常倾斜&#xff0c;常用的错误指标如 准确率(accuracy) 并不好用。此时可以用精确率和召回率。 精确率&#xff08;precision&#xff09;&#xff1a;真阳的样本数/预测为阳的样本数真阳数/&#xff08;真阳假阳&#xff09; 召回率(recall):…...

无人游艇的研发和开发对于多个领域具有重要

无人游艇的研发和开发对于多个领域具有重要性。 首先&#xff0c;无人游艇可以在海上进行各种任务&#xff0c;如海洋科学研究、资源勘探和监测、海洋环境保护等。相比传统的人工操作船只&#xff0c;无人游艇可以长时间在海上工作&#xff0c;可以自动化执行任务&#xff0c;…...

在AI创业热潮下,如何抓住AI赚钱机会,实现人生逆袭

随着人工智能技术的迅猛发展,AI创业热潮正席卷全球。这不仅为科技领域的专业人士提供了无限的商机,也为普通人开辟了全新的赚钱途径。本文将为您揭示在AI创业热潮下,普通人如何抓住AI赚钱机会,实现人生逆袭,同时探讨哪些行业适合应用AI技术。 一、普通人如何抓住AI赚钱机…...

JETSON 配置并跑通 NanoDet

JETSON 配置 NanoDet 文章目录 JETSON 配置 NanoDetNanoDet 介绍源码环境搭建及测试配置 NanoDet 的环境环境配置过程中遇到的问题&#xff1a;环境配置完毕验证 NanoDet NanoDet 介绍 可以参考这个博客&#xff1a;NanoDet&#xff1a;这是个小于4M超轻量目标检测模型 源码 …...

突破编程_C++_C++11新特性(unordered_multimap)

1 概述 std::unordered_multimap 是一个哈希表实现的无序容器&#xff0c;它存储的元素是键值对&#xff0c;并且允许键的重复。这意味着同一个键可以关联多个值。在 std::unordered_multimap 中&#xff0c;元素的插入顺序是不确定的&#xff0c;并且不会因为元素的插入、删除…...

15.WEB渗透测试--Kali Linux(三)

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 内容参考于&#xff1a; 易锦网校会员专享课 上一个内容&#xff1a;14.WEB渗透测试--Kali Linux&#xff08;二&#xff09;-CSDN博客 Kali工具使用 3389远…...

Android-Framework pm list packages和pm install返回指定应用信息

一、环境 高通 Android 13 注&#xff1a;Android10 和Android13有些差异&#xff0c;代码位置不变&#xff0c;参照修改即可 二、pm简单介绍 pm工具为包管理&#xff08;package manager&#xff09;的简称 可以使用pm工具来执行应用的安装和查询应用宝的信息、系统权限、…...

CSS

什么是CSS&#xff1f; CSS是一门语言&#xff0c;用于控制网页表现 CSS&#xff08;Cascading Style Sheet&#xff09;&#xff1a;层叠样式表 W3C标准&#xff1a;网页主要由三部分组成 结构&#xff1a;HTML表现&#xff1a;CSS行为&#xff1a;JavaScript CSS导入方式…...

算法详解——选择排序和冒泡排序

一、选择排序 选择排序算法的执行过程是这样的&#xff1a;首先&#xff0c;算法遍历整个列表以确定最小的元素&#xff0c;接着&#xff0c;这个最小的元素被置换到列表的开头&#xff0c;确保它被放置在其应有的有序位置上。接下来&#xff0c;从列表的第二个元素开始&#x…...

图论(蓝桥杯 C++ 题目 代码 注解)

目录 迪杰斯特拉模板&#xff08;用来求一个点出发到其它点的最短距离&#xff09;&#xff1a; 克鲁斯卡尔模板&#xff08;用来求最小生成树&#xff09;&#xff1a; 题目一&#xff08;蓝桥王国&#xff09;&#xff1a; 题目二&#xff08;随机数据下的最短路径&#…...

矩阵起源新一年喜报连连!

新春伊始 矩阵起源向大家分享 一连串好消息 首先&#xff0c;公司创始人兼CEO王龙先生获评“2023深圳创新突出贡献人物“。这一荣誉是对其在推动数据库行业技术创新和产品开发方面所做出的卓越贡献的认可。他的领导力和创新精神不仅引领我司取得了显著的成就&#xff0c;也为…...

牛客——紫魔法师(并查集)

链接&#xff1a;登录—专业IT笔试面试备考平台_牛客网 来源&#xff1a;牛客网 题目描述 “サーヴァント、キャスター、Medea。”--紫魔法师 给出一棵仙人掌(每条边最多被包含于一个环&#xff0c;无自环&#xff0c;无重边&#xff0c;保证连通)&#xff0c;要求用最少的…...

最新WooCommerce教程指南-如何搭建B2C外贸独立站

WooCommerce是全球最受欢迎的开源电子商务平台之一。它基于WordPress建站&#xff0c;只需一键安装即可使用。该平台提供了丰富的功能&#xff0c;包括产品发布、库存管理、支付网关和运输发货等&#xff0c;可以帮助搭建各种类型的电子商务网站。相比其他竞争对手&#xff0c;…...

一文教会你SpringBoot是如何启动的

SpringBoot启动流程分析 流程图 源码剖析 运行Application.run()方法 我们在创建好一个 SpringBoot 程序之后&#xff0c;肯定会包含一个类&#xff1a;xxxApplication&#xff0c;我们也是通过这个类来启动我们的程序的&#xff08;梦开始的地方&#xff09;&#xff0c;而…...

车载测试面试:各大车企面试题汇总

本博主可协助大家成功进军车载测试行业 TBOX 深圳 涉及过T-BOX测试吗Ota升级涉及的台架环境是什么样的&#xff1f;上车实测之前有没有一个仿真环境台架环境都什么零部件T-BOX了解多少Linux和shell有接触吗 单片机uds诊断是在实车上座的吗 uds在实车上插的那口 诊断仪器是哪…...

Qt散文一

Qt的事件分为普通事件和系统事件&#xff0c;普通事件比如用户按下键盘&#xff0c;系统事件比如定时器事件。事件循环的开始是从main函数的QApplication&#xff0c;然后调用exec()开始的&#xff0c;在执行exec()函数之后&#xff0c;程序将进入事件循环来监听应用程序的事件…...

MySQL学习Day32——数据库备份与恢复

在任何数据库环境中&#xff0c;总会有不确定的意外情况发生&#xff0c;比如例外的停电、计算机系统中的各种软硬件故障、人为破坏、管理员误操作等是不可避免的&#xff0c;这些情况可能会导致数据的丢失、 服务器瘫痪等严重的后果。存在多个服务器时&#xff0c;会出现主从服…...

凡科微传单app软件下载/厦门seo排名优化公司

一、安装node.js文件 安装原因&#xff1a;由于electron是基于nodejs的&#xff0c;所以我们首先要安装nodejs 安装包地址&#xff1a;https://download.csdn.net/download/cevery/10815530或http://nodejs.cn/download/ 安装步骤&#xff1a;根据所选需要一路next。 测试是…...

个人网站建设 优帮云/福州专业的seo软件

1.p标签内放行内块&#xff08;如&#xff0c;input&#xff09;适宜么&#xff08;已知p是块元素&#xff0c;但p内不宜放置div&#xff09;&#xff1f; 2.如何单独设置文字下划线颜色&#xff1f; 3.行内元素可以定位吗&#xff1f; 4.支持 margin:0 auto; 的元素类型有哪些…...

自己做网站推广/官网制作公司

在本文中&#xff0c;我们将通过HLS自己动手实现一个AXI DMA&#xff0c;仿照的是官方AXI DMA IP核的直接模式&#xff0c;即给定发送起始地址和发送长度&#xff0c;以及接收起始地址和接收长度&#xff0c;就能进行一次DMA传输。 HLS设计 代码如下 dma.cpp #include"…...

当当网站建设目标/网络营销和电子商务的区别

🍅 Java学习路线:搬砖工逆袭Java架构师 🍅 简介:Java领域优质创作者🏆、CSDN哪吒公众号作者✌ 、Java架构师奋斗者💪 🍅 扫描主页左侧二维码,加入群聊,一起学习、一起进步 🍅 欢迎点赞 👍 收藏 ⭐留言 📝 一、什么是装箱?什么是拆箱? 在Java SE5之前,…...

江苏疫情最新消息今天/爱站网seo工具包

传送门 先写出转移方程$$dp[i]max\{dp[j]a*(sum[i]-sum[j])^2b*(sum[i]-sum[j])c\}$$ 假设$j$比$k$更优&#xff0c;则有$$dp[j]a*(sum[i]-sum[j])^2b*(sum[i]-sum[j])c>dp[k]a*(sum[i]-sum[k])^2b*(sum[i]-sum[k])c$$ 展开&#xff0c;并消去同类项之后得$$dp[j]-2*a*sum[i…...

七冶建设集团网站/青岛官网seo方法

搬入新居并布置了家具位置之后&#xff0c;总觉得布线不是很合理&#xff0c;想放个电话的地方没有RJ11插座却反而有个RJ45的插座&#xff0c;想放电脑的地方没有网线插座(我的电脑比较特殊&#xff0c;不是WIFI可以解决的)&#xff0c;怎么办&#xff1f;动手吧&#xff01;幸…...