更新时间:2022-12-29 14:57:16 来源:极悦 浏览1091次
大家的每一次面试都是一个重要的转机,能不能抓住这个机遇,就给看大家对于面试的信息应用掌握了多少,掌握当下最紧缺的技术就是进入到大厂的关键,hadoop的相关面试题无论如何都是需要掌握的技术知识,今天的这套面试题将在未来职场,让你脱颖而出!
1、什么是Hadoop及其组件
Hadoop是一个开源分布式计算平台架构,基于apache协议发布,由java语言开发。主要包括
2、Hadoop的守护进程
3.YARN:Yet Another Resource Negotiator,是一种新的Hadoop资源管理器
负责资源管理的,整个系统有且只有一个 RM ,来负责资源的调度。它也包含了两个主要的组件:定时调用器(Scheduler)以及应用管理器(ApplicationManager)。
每当 Client 提交一个 Application 时候,就会新建一个 ApplicationMaster 。由这个 ApplicationMaster 去与 ResourceManager 申请容器资源,获得资源后会将要运行的程序发送到容器上启动,然后进行分布式计算。
NodeManager 是 ResourceManager 在每台机器的上代理,负责容器的管理,并监控他们的资源使用情况(cpu,内存,磁盘及网络等),以及向ResourceManager/Scheduler 提供这些资源使用报告。
Container是YARN集群中资源的抽象,将NM上的资源进行量化,根据需要组装成一个个Container,然后服务于已授权资源的计算任务。计算任务在完成计算后,系统会回收资源,以供后续计算任务申请使用。Container包含两种资源:内存和CPU,后续Hadoop版本可能会增加硬盘、网络等资源。
4.HDFS:分布式文件管理系统
5.MapReduce:分布式计算框架,采用Master/Slave架构,1个JobTracker带多个TaskTracker
6.一个MapReduce任务在提交阶段是如何对输入数据进行分片划分的?
通过InputSplit()函数来处理,设置分片数量为Math.max(minSize,Math.min(goalSize, blockSize)),一个数据片分配一个map任务。
7.MapReduce里的Combiner是做什么用的?什么情况下需要,和Reduce的区别是什么?
Combiner主要是在map完成后,reducer之前对数据做一次聚合,以减少数据传输的IO开销。
数据格式转换
注意:combine的输入和reduce的完全一致,输出和map的完全一致
Combiner和Reducer的区别在于运行的位置
Combiner是在每一个MapTask所在的节点运行;
Reducer是接收全局所有Mapper的输出结果;
以上就是“高频出现的程序员hadoop面试题及答案”,你能回答上来吗?如果想要了解更多的相关内容,可以关注极悦Java官网。
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习