前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >大数据面试题(四):Yarn核心高频面试题

大数据面试题(四):Yarn核心高频面试题

原创
作者头像
Lansonli
发布2022-12-12 22:43:42
5790
发布2022-12-12 22:43:42
举报
文章被收录于专栏:Lansonli技术博客Lansonli技术博客

?Yarn核心高频面试题

一、简述Hadoop1与Hadoop2的架构异同

加入了yarn解决了资源调度的问题。

加入了对zookeeper的支持实现比较可靠的高可用。

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

Yarn最主要的功能就是解决运行的用户程序与yarn框架完全解耦。

Yarn上可以运行各种类型的分布式运算程序(mapreduce只是其中的一种),比如mapreduce、storm程序,spark程序等。

三、HDFS的数据压缩算法?及每种算法的应用场景?

1、gzip压缩

优点:压缩率比较高,而且压缩/解压速度也比较快;hadoop本身支持,在应用中处理gzip格式的文件就和直接处理文本一样;大部分linux系统都自带gzip命令,使用方便。

缺点:不支持split。

应用场景:当每个文件压缩之后在130M以内的(1个块大小内),都可以考虑用gzip压缩格式。例如说一天或 者一个小时的日志压缩成一个gzip文件,运行mapreduce程序的时候通过多个gzip文件达到并发。hive程序, streaming程序,和java写的mapreduce程序完全和文本处理一样,压缩之后原来的程序不需要做任何修改。

2、Bzip2压缩

优点:支持split;具有很高的压缩率,比gzip压缩率都高;hadoop本身支持,但不支持native;在linux系统下自带bzip2命令,使用方便。

缺点:压缩/解压速度慢;不支持native。

应用场景:适合对速度要求不高,但需要较高的压缩率的时候,可以作为mapreduce作业的输出格式;或者?输出之后的数据比较大,处理之后的数据需要压缩存档减少磁盘空间并且以后数据用得比较少的情况;或者对单个 很大的文本文件想压缩减少存储空间,同时又需要支持split,而且兼容之前的应用程序(即应用程序不需要修改) 的情况。

3、Lzo压缩

优点:压缩/解压速度也比较快,合理的压缩率;支持split,是hadoop中最流行的压缩格式;可以在linux系统下安装lzop命令,使用方便。

缺点:压缩率比gzip要低一些;hadoop本身不支持,需要安装;在应用中对lzo格式的文件需要做一些特殊处理(为了支持split需要建索引,还需要指定inputformat为lzo格式)。

应用场景:一个很大的文本文件,压缩之后还大于200M以上的可以考虑,而且单个文件越大,lzo优点越越明显。

4、Snappy压缩

优点:高速压缩速度和合理的压缩率。

缺点:不支持split;压缩率比gzip要低;hadoop本身不支持,需要安装;

应用场景:当Mapreduce作业的Map输出的数据比较大的时候,作为Map到Reduce的中间数据的压缩格式; 或者作为一个Mapreduce作业的输出和另外一个Mapreduce作业的输入。

四、Hadoop的调度器总结

目前,Hadoop作业调度器主要有三种:FIFO、Capacity Scheduler和Fair Scheduler。Hadoop2.7.2默认的资源调度器是Capacity Scheduler。

具体设置详见:yarn-default.xml文件?

代码语言:javascript
复制
<property>
    <description>The class to use as the resource scheduler.</description>
    <name>yarn.resourcemanager.scheduler.class</name>
    <value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler</value>
</property>

1、先进先出调度器(FIFO)

?

2、容量调度器(Capacity Scheduler)

?

3、公平调度器(Fair Scheduler)

?

五、Mapreduce推测执行算法及原理

1、作业完成时间取决于最慢的任务完成时间

一个作业由若干个Map任务和Reduce任务构成。因硬件老化、软件Bug等,某些任务可能运行非常慢。

典型案例:系统中有99%的Map任务都完成了,只有少数几个Map老是进度很慢,完不成,怎么办?

2、推测执行机制

发现拖后腿的任务,比如某个任务运行速度远慢于任务平均速度。为拖后腿任务启动一个备份任务,同时运行。 谁先运行完,则采用谁的结果。

3、执行推测任务的前提条件 3.1、每个task只能有一个备份任务;

3.2、当前job已完成的task必须不小于0.05(5%)

3.3、开启推测执行参数设置。Hadoop2.7.2 mapred-site.xml文件中默认是打开的。

代码语言:javascript
复制
<property>
    <name>mapreduce.map.speculative</name>
    <value>true</value>
    <description>If true, then multiple instances of some map tasks may be executed in parallel.</description>
</property>
<property>
    <name>mapreduce.reduce.speculative</name>
    <value>true</value>
    <description>If true, then multiple instances of some reduce tasks may be executed in parallel.</description>
</property>

4、不能启用推测执行机制情况

  1. 任务间存在严重的负载倾斜;
  2. 特殊任务,比如任务向数据库中写数据。

5、算法原理

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • ?Yarn核心高频面试题
    • 一、简述Hadoop1与Hadoop2的架构异同
      • 二、为什么会产生yarn,它解决了什么问题,有什么优势?
        • 三、HDFS的数据压缩算法?及每种算法的应用场景?
          • 1、gzip压缩
          • 2、Bzip2压缩
          • 3、Lzo压缩
          • 4、Snappy压缩
        • 四、Hadoop的调度器总结
          • 五、Mapreduce推测执行算法及原理
          相关产品与服务
          文件存储
          文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
          http://www.vxiaotou.com