首页 > 其他分享 >大数据面试题集锦-Hadoop面试题(四)-YARN

大数据面试题集锦-Hadoop面试题(四)-YARN

时间:2023-07-10 21:55:56浏览次数:47  
标签:面试题 队列 作业 Hadoop 调度 任务 集锦

你准备好面试了吗?这里有一些面试中可能会问到的问题以及相对应的答案。如果你需要更多的面试经验和面试题,关注一下"张飞的猪大数据分享"吧,公众号会不定时的分享相关的知识和资料。

目录

1、为什么会产生 yarn,它解决了什么问题,有什么优势?

1)Yarn最主要的功能就是解决运行的用户程序与yarn框架完全解耦。
  2)Yarn上可以运行各种类型的分布式运算程序(mapreduce只是其中的一种),比如mapreduce、storm程序,spark程序……

2、简述hadoop1与hadoop2 的架构异同

1)加入了yarn解决了资源调度的问题。
  2)加入了对zookeeper的支持实现比较可靠的高可用。

3、Hadoop的调度器总结

(1)默认的调度器FIFO
  Hadoop中默认的调度器,它先按照作业的优先级高低,再按照到达时间的先后选择被执行的作业。
(2)计算能力调度器Capacity Scheduler
  支持多个队列,每个队列可配置一定的资源量,每个队列采用FIFO调度策略,为了防止同一个用户的作业独占队列中的资源,该调度器会对同一用户提交的作业所占资源量进行限定。调度时,首先按以下策略选择一个合适队列:计算每个队列中正在运行的任务数与其应该分得的计算资源之间的比值,选择一个该比值最小的队列;然后按以下策略选择该队列中一个作业:按照作业优先级和提交时间顺序选择,同时考虑用户资源量限制和内存限制。
(3)公平调度器Fair Scheduler
  同计算能力调度器类似,支持多队列多用户,每个队列中的资源量可以配置,同一队列中的作业公平共享队列中所有资源。实际上,Hadoop的调度器远不止以上三种,最近,出现了很多针对新型应用的Hadoop调度器。

4、MapReduce 2.0 容错性

1)MRAppMaster容错性
  一旦运行失败,由YARN的ResourceManager负责重新启动,最多重启次数可由用户设置,默认是2次。一旦超过最高重启次数,则作业运行失败。
2)Map Task/Reduce
  Task Task周期性向MRAppMaster汇报心跳;一旦Task挂掉,则MRAppMaster将为之重新申请资源,并运行之。最多重新运行次数可由用户设置,默认4次。

5、HDFS的数据压缩算法?

Hadoop中常用的压缩算法有bzip2、gzip、lzo、snappy,其中lzo、snappy需要操作系统安装native库才可以支持。
  数据可以压缩的位置如下所示。
在这里插入图片描述

企业开发用的比较多的是snappy。

6、mapreduce推测执行算法及原理

1)作业完成时间取决于最慢的任务完成时间
  一个作业由若干个Map 任务和Reduce 任务构成。因硬件老化、软件Bug 等,某些任务可能运行非常慢。
  典型案例:系统中有99%的Map任务都完成了,只有少数几个Map老是进度很慢,完不成,怎么办?
2)推测执行机制
  发现拖后腿的任务,比如某个任务运行速度远慢于任务平均速度。为拖后腿任务启动一个备份任务,同时运行。谁先运行完,则采用谁的结果。
3)不能启用推测执行机制情况
  (1)任务间存在严重的负载倾斜;
  (2)特殊任务,比如任务向数据库中写数据。
4)算法原理
  假设某一时刻,任务T的执行进度为progress,则可通过一定的算法推测出该任务的最终完成时刻estimateEndTime。另一方面,如果此刻为该任务启动一个备份任务,则可推断出它可能的完成时刻estimateEndTime,于是可得出以下几个公式:

estimateEndTime=estimatedRunTime+taskStartTime
estimatedRunTime=(currentTimestamp-taskStartTime)/progress
estimateEndTime= currentTimestamp+averageRunTime

其中,currentTimestamp为当前时刻;taskStartTime为该任务的启动时刻;averageRunTime为已经成功运行完成的任务的平均运行时间。这样,MRv2总是选择(estimateEndTime- estimateEndTime·)差值最大的任务,并为之启动备份任务。为了防止大量任务同时启动备份任务造成的资源浪费,MRv2为每个作业设置了同时启动的备份任务数目上限。
  推测执行机制实际上采用了经典的算法优化方法:以空间换时间,它同时启动多个相同任务处理相同的数据,并让这些任务竞争以缩短数据处理时间。显然,这种方法需要占用更多的计算资源。在集群资源紧缺的情况下,应合理使用该机制,争取在多用少量资源的情况下,减少作业的计算时间。

7、更多大数据面试集锦

  1. 大数据书籍资料分享
  2. 大数据面试题集锦

标签:面试题,队列,作业,Hadoop,调度,任务,集锦
From: https://www.cnblogs.com/the-pig-of-zf/p/17542453.html

相关文章

  • 小程序面试题
    小程序开发和h5开发有什么区别?1.运行环境不同:h5运行环境是浏览器,包括webview,而微信小程序的运行环境是微信开发团队基于浏览器内核完全重构的一个内置解析器,小程序的运行环境并不是完整的浏览器,只是用到了一部分的h5技术,2.开发成本不同:h5开发成本比小程序高,3.获取系统的权......
  • Hadoop中YARN集群启停命令
    一键启停脚本#一键启动yarn集群start-yarn.sh#一键关闭yarn集群stop-yarn.sh单进程启停start和stop决定启动和停止可控制resourcemanager、nodemanager、proxyserver三种进程yarn--daemonstart|stopresourcemanager|nodemanager|proxyserver历史服务器启动或停止map......
  • HVV蓝队常见面试题
    Hvv蓝队常问面试题原创离Poker安全主要的Web漏洞SQL注入漏洞SQL注入原理网站数据过滤不严格,过分信赖用户输入的数据,没有过滤用户输入的恶意数据,无条件的把用户输入的数据当作SQL语句执行,因此导致sql注入漏洞产生。SQL注入分类以有无闭合字符分类:字符型、整数型以数......
  • Hadoop3.3.5完全分布式搭建
    首先在之前的伪分布基础上克隆两台机器这样一共三台虚拟机为这三台虚拟机设置三个不同的静态ip地址和主机名我的是billsaifu192.168.15.130hadoop1192.168.15.131hadoop2192.168.15.132静态IP设置#先进入rootvim/etc/sysconfig/network-scripts/ifcfg-ens33#修改......
  • 电商支付实战项目与相关面试题总结
    电商支付实战项目与相关面试题总结接下来我将用一篇万字长文,总结好这个项目以达到可以正面硬钢面试官的水平,如果作为一个毫无头绪的大学生的你,简历中需要一个还算拿得出手的项目,那么在2023年的今天,足矣作为一个还算OK的项目写进你的简历。当然,这只能算简历中的第一个项目,你还需要......
  • 1.HTTP面试题
    1.HTTP基本概念1.1HTTP是什么 HTTP(HyperTextTransferProtocol)是超文本传输协议。它是一种双向传输协议。具体来说HTTP是一种在计算机世界里,专门在[两点]之间[传输]文字、图片、音频、视频等[超文本]数据的[约定和规范]。1.2HTTP常见状态码有哪些1XX类状态码属于提示信息,是......
  • JVM 面试题
    JVM面试题JVM是JavaVirtualMachine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。JVM屏蔽了与......
  • Hadoop on k8s 编排部署进阶篇
    目录一、概述二、k8s部署部署三、开始编排部署Hadoop1)构建镜像Dockerfile2)values.yaml文件配置3)hadoopconfigmapyaml4)hiveconfigmapyaml5)开始安装6)测试验证一、概述Hadoop是一个开源的分布式计算框架,用于处理大规模数据集的存储和处理。它使用了Hadoop分布式文件系统......
  • Hadoop 伪分布模式配置
    etc/hadoop/core-site.xml<configuration><!--指定HDFS中namenode地址--><property><name>fs.defaultFS</name><value>hdfs://hadoop01:9000</value></property><!--指定Hadoop运行时......
  • hadoop2.7.2上安装hive
    hive版本1.21mysql版本5.6.241.解压hivetar-zxfapache-hive-1.2.1-bin.tar.gz-C../app/cd../app/ln-sapache-hive-1.2.1-binhive2.安装mysql 注:参考Linux安装MySQL_5.6-Watcher123-博客园(cnblogs.com)##解压安装包tar-zxfmysql-5.6.24-linux-glibc......