大数据面试之YARN常见题目

news2024/11/15 8:19:43

大数据面试之YARN常见题目

1 YARN工作机制

1.1 图解

在这里插入图片描述

上面有单词少个r,就不改了,大家知道就行。

1.2 文字描述

文字版描述:

1、MapReduce程序提交到Client所在节点,在MR程序的主函数当中有job.waitForCompletion()将任务进行提交给ResourceManager。

2、Client客户端会向ResourceManager申请一个Application ID,其实就是整个程序当中唯一的一个标识。

3、ResourceManager给客户端返回一个路径,让Client给要提交的东西放到这个路径上。这个路径是一个集群的路径。

4、Client提交相应的程序到ResourceManager返回的路径上,提交的程序包含三个部分内容,分别是程序jar本身、切片信息、XML配置信息。Jar包是程序本身代码;XML是指任务按照哪一个配置进行执行,比如说是两个副本等由配置信息决定;切片信息决定了未来要开启多少个MapTask。

05、程序资源提交完毕之后,向ResourceManager申请运行MRAppMaster。就是自己的应用程序的运行老大。

06、ResourceManager将Client的请求形成一个Task,这是一个Client形成了一个任务,因为是集群,会有多个Client客户端进行任务提交,到底要先运行哪个任务,所以要有个排队机制,给这些任务放到调度器的队列当中。到底先运行哪一个由调度器说了算。

07、这个时候有某个NodeManager,正好有对应的资源,就给任务领取了。

08、领取任务之后,NodeManager要想运行任务,要开启相应的Container容器,Container里面有相应的内存、网络、硬盘 等资源,类似于一个单独的小电脑。在Container里面会开启MRAppMaster。

09、开启MRAppMaster之后去集群路径上面找对应的信息,也就是Container从HDFS上面拷贝资源到本地。

10、MRAppMaster向ResourceManager申请运行MapTask的容器资源。比如说上一步确认了切片信息是两个,这个时候NodeManager的Container容器中的MRAppMaster就要跟ResourceManager申请运行两个MapTask。

11、仍然以两个MapTask进行分析,ResourceManager将运行MapTask任务分配给另外两个NodeManager,对应的NodeManager分别领取任务并创建对应的Container容器。这里假设是两个NodeManager分别创建了两个Container容器,也可以是一个NodeManager当中创建两个Container容器来运行两个MapTask任务。

12、MRAppMaster向两个接受到任务的容器发送程序启动命令,启动MapTask进程。MapTask启动之后就开始运行,对分区数据进行排序,运行完毕之后给所有的数据持久化到磁盘。

13、MRAppMaster等待所有MapTask运行完毕之后,向ResourceManager申请Container容器运行ReduceTask。

14、ReduceTask拉取自己分区的数据进行处理。

15、ReduceTask运行完毕之后,由于MRAppMaster向集群的ResourceManager申请注销,释放相应的资源。

以上就是YARN的工作机制。

2 YARN调度器

2.1 调度器分类

FIFO 、Capacity Scheduler(容量调度器)和Fair Scheduler(公平调度器)。

2.2 默认的调度器

Apache版本默认的资源调度器是容量调度器;

CDH版本默认的资源调度器是公平调度器。

2.3 FIFO调度器

在这里插入图片描述

FIFO调度器:
先进先出、支持单队列。
里面的任务按照来的顺序进行排队。生产环境基本不会用。因为是单队列,并行度就是1。一个一个执行,效率不高。

2.4 Capacity Scheduler(容量调度器)

在这里插入图片描述

Capacity Scheduler(容量调度器):
支持多队列;
保证先进入的任务优先执行;
资源不够的时候可以向其他队列借。

2.5 Fair Scheduler(公平调度器)

在这里插入图片描述

Fair Sceduler(公平调度器):
支持多队列;
保证每个任务公平享有队列资源;
资源不够时可以按照缺额分配;
公平调度器相对容量调度器高些。

2.6 在生产环境下怎么选择

大公司:如果对并发度要求比较高,选择公平,要求服务器性能要没问题;

中小公司:如果对并发度要求比较不高,选择容量,也就是集群服务器资源不太充裕的时候。

2.7 在生产环境怎么创建队列

(1)不管是哪种调度器,默认就1个default队列,不能满足生产要求。

(2)可以按照框架进行创建:hive /spark/ flink 每个框架的任务放入指定的队列(业务不是特别多的情况下可以使用)

(3)可以按照部门和业务模块进行创建:业务部门1、业务部门2、登录、注册、购物车、下单、

2.8 为什么要创建多队列

(1)有些员工不小心写的一些代码,比如递归死循环代码,会把资源耗尽。

(2)实现任务的降级使用,特殊时期保证重要的任务队列资源充足,优先使用,比如特殊的促销节。



声明:
        文章中代码及相关语句为自己根据相应理解编写,文章中出现的相关图片为自己实践中的截图和相关技术对应的图片,若有相关异议,请联系删除。感谢。转载请注明出处,感谢。


By luoyepiaoxue2014

B站: https://space.bilibili.com/1523287361 点击打开链接
微博: http://weibo.com/luoyepiaoxue2014 点击打开链接

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

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

相关文章

Linux网络-五种IO模型

Linux网络-高级IO零、前言一、什么是IO二、五种IO模型1、阻塞IO2、非阻塞IO3、信号驱动IO4、IO多路转接5、异步IO三、高级IO重要概念1、同步通信 vs 异步通信2、阻塞 vs 非阻塞3、其他高级IO零、前言 本章主要就Linux网络讲解非常重要的一个话题-高级IO 一、什么是IO IO是输入i…

20221211英语学习

今日新词: helplessly adv.无助地;无能为力地 physicist n.物理学家, 物理学研究者 capable adj.有能力的,有才能的;能胜任的;可以…的;容许…的 spokeswoman n.女发言人 production n.产量&#xff1…

卡尔曼滤波应用

卡尔曼滤波器的过程 卡尔曼滤波器的过程分为: 状态方程: xkAxk−1Buk−1ωk−1zkHxkνk这样就得到了状态方程和观测方程的表达式其中xk是状态向量,A是转移矩阵,B是输入转换为状态的矩阵,uk是系统输入,ωk是…

【波段自适应梯度和细节校正:统一遥感融合】

A Unified Pansharpening Model Based on Band-Adaptive Gradient and Detail Correction (基于波段自适应梯度和细节校正的统一全色锐化模型) 利用全色锐化技术将全色(PAN)图像与多光谱(MS)图像融合&…

谈谈Java应用发布时CPU抖动的优化

研究背景 通常情况下应用发布或重启时都存在cpu抖动飙高,甚至打满的现象,这是由于应用启动时,JVM重新进行类加载与对象的初始化,CPU在整个过程中需要进行比平时更多的编译工作。同样,闲鱼的消息系统在重新发布时经常有…

fsQCA+NCA方法的软件操作及注意事项、论文实证分析部分的写作范式

目录前言1 软件操作步骤2 fsQCA方法的详细操作步骤2.1 软件下载2.2 数据的准备2.3 校准点的确定2.4 变量的校准步骤及闪退问题2.5 fsQCA的数据必要性检验(开始一次最后一次)2.6 频数、一致性水平、PRI一致性水平的确定2.6.1 频数的确定2.6.2 一致性水平、…

【中级ECharts技术】前端框架ECharts的dataset 管理数据对数据可视化的高级dataset 管理

dataset 管理数据 提供一份数据。 声明一个 X 轴,类目轴(category)。默认情况下,类目轴对应到声明多个 bar 系列,默认情况下,每个系列会自动对应到 dataset 的每一列。 option = {legend: {},tooltip: {},dataset:

Mac 中 MongoDB 使用

根据 homebrew-brew 官方的解释得知,MongoDB 不再是开源的了,并且已经从 Homebrew中移除 #43770 正是由于 MongoDB 的商业化不太理想,所以它选择了闭源。所以,在它闭源之前的那些 brew 安装方法都会报错了。网上很多的文章都是基…

[附源码]JAVA毕业设计雅博书城在线系统(系统+LW)

[附源码]JAVA毕业设计雅博书城在线系统(系统LW) 项目运行 环境项配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术…

你想要的图片效果(动态实现)

一、前言 没有使用任何框架API,代码或逻辑在html或小程序都适用。主要实现图片随机位置、随机大小、不重叠,在页面上排布;还有扩展功能选定固定图片位置槽数、固定大小、不重叠,在页面上通过添加,图片随机排布。 二、…

我的创作纪念日(4周年)

机缘 回想当初,博主2017年底从北京中石油(沙河总部)辞职,一心想回到自己的家乡成都工作、不想在北京待了,在总部赵总的推荐下来到四川中石油工作(刚好这边有人离职,所谓一个萝卜一个坑&#xf…

C语言入门(二)——常量,变量和表达式

继续Hello World 常量 变量 赋值 表达式 字符类型与字符编码 继续Hello World 前一个章节已经对Hello World程序做各种改动程序做各种改动看编译运行结果,其中有些改动会导致编译出错,有些改动会影响程序的输出,有些改动则没有任何影响…

C++:类的内存布局

文章目录1、虚的含义2、单基继承2.1、单继承2.2、单虚继承2.3、单虚继承 虚函数2.4、测试代码3、多基继承3.1、多继承 虚函数3.2、虚拟多继承 虚函数3.3、测试代码4、菱形继承4.1、菱形继承4.2、菱形虚拟继承4.3、测试代码5、效率分析建议先了解 C 继承与多态的相关知识&…

12.10 二叉搜索树与内部类

目录 一.二叉搜索树 1 概念 2 操作-查找 3.插入 4.删除(难点) 1.cur.leftnull 2.cue.rightnull 3.最复杂的情况 cur.left!null&&cur.right!null 6 性能分析 7 和 java 类集的关系 二.内部类 1.本地内部类 2.实例内部类 1.不可以定义静态 因为静态表示属于…

踩坑记录1——RK3588编译OpenCV

这两天有在板卡上跑代码的需求,拿到了一块RK3588CPU的板子,型号是HINLINK的HK88. 以后记录一下调试这个板子的问题,便于以后查看 0. 基本信息 板卡系统:ArmBian,基于Ubuntu20.04 OpenCV版本:3.4.5 采用方法…

Java项目:SSM公司人力资源管理系统

作者主页:源码空间站2022 简介:Java领域优质创作者、Java项目、学习资料、技术互助 文末获取源码 项目介绍 本项目为后台管理系统,分为管理员与普通员工两种角色; 管理员角色包含以下功能: 管理员登录,员工账号管理,部门管理,员工…

陆拾肆- 时序数据的特征化

一、前期大数据状况 进行客户域大数据运营时,一般是在当前状态计算客户的行为特征。 如会建立特征为 近7天是否有登录昨天是否有登录近7天销售情况点击主页后是否有点击下层页面哪个页面点击购买总浏览电子产品的次数占访问次数占比不进行商品浏览,只进…

Codeforces Round #772 (Div. 2) D. Infinite Set

翻译: 给定一个数组𝑎,该数组由𝑛个不同的正整数组成。 让我们考虑一个无限整数集𝑆,它包含至少满足以下条件之一的所有整数𝑥: 对于某些1≤𝑖≤𝑛,&#…

微服务框架 SpringCloud微服务架构 微服务保护 33 授权规则 33.2 自定义异常结果

微服务框架 【SpringCloudRabbitMQDockerRedis搜索分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】 微服务保护 文章目录微服务框架微服务保护33 授权规则33.2 自定义异常结果33.2.1 自定义异常结果33.2.2 总结33 授权规则 33.2 自定义异常结…

十种类型电感概述

1、工字型电感 它的前身是挠线式贴片电感,工字型电感是它们的改良, 挡板有效加强储能能力,改变EMI方向和大小,亦可降低RDC。它亦可说是讯号通讯电感跟POWER电感的一种妥协。 工字型电感的缺点,仍是开磁路,有EMI的问题, 另外,噪音的问题比挠线式贴片电感大。 2、色环电感 色环电…