Miles hadoop面试题 简
Hadoop最全面试题整理(附目录)

Hadoop面试题目及答案(附目录)选择题1.下面哪个程序负责HDFS 数据存储。
a)NameNode b)Jobtracker c)Datanode d)secondaryNameNode e)tasktracker答案C datanode2. HDfS 中的block 默认保存几份?a)3 份b)2 份c)1 份d)不确定答案A 默认3 份3.下列哪个程序通常与NameNode 在一个节点启动?a)SecondaryNameNode b)DataNode c)TaskTracker d)Jobtracker答案D分析:hadoop 的集群是基于master/slave 模式,namenode 和jobtracker 属于master,datanode 和tasktracker 属于slave,master 只有一个,而slave 有多个SecondaryNameNode 内存需求和NameNode 在一个数量级上,所以通常secondaryNameNode(运行在单独的物理机器上)和NameNode 运行在不同的机器上。
JobTracker 和TaskTrackerJobTracker 对应于NameNode,TaskTracker 对应于DataNode,DataNode 和NameNode 是针对数据存放来而言的,JobTracker 和TaskTracker 是对于MapReduce 执行而言的。
mapreduce 中几个主要概念,mapreduce 整体上可以分为这么几条执行线索:jobclient,JobTracker 与TaskTracker。
1、JobClient 会在用户端通过JobClient 类将应用已经配置参数打包成jar 文件存储到hdfs,并把路径提交到Jobtracker,然后由JobTracker 创建每一个Task(即MapTask 和ReduceTask)并将它们分发到各个TaskTracker 服务中去执行。
大数据Hadoop面试题(附答案解析)

大数据Hadoop面试题(附答案解析)在大数据开发岗位的需求下,工资待遇水涨船高,不少编程人员在面对职业瓶颈期的时候,会选择转编程方向发展。
你是否已经意识这是你人生中的一个重要转机?能不能抓住这个时代的机遇,就在于你对大数据信息的应用和获取。
而如何成为大数据时代的弄潮儿,掌握当下最紧缺的软件技能是关键!谷歌、阿里巴巴、百度、京东都在急需掌握hadoop技术的大数据人才!无论你精通大数据的哪一项类,都将在未来职场脱颖而出!传智播客上海校区为大家准备了一些面试问题,希望可以帮助到大家更多大数据知识请关注传智播客上海校区或登录传智播客官网了解更多视频01单选题1、下面哪个程序负责HDFS数据存储?a)NameNodeb)Jobtrackerc)Datanoded)econdaryNameNodee)taktracker答案Cdatanode2、HDfS中的block默认保存几份?a)3份b)2份c)1份d)不确定答案A默认3份a)MartinFowlerb)KentBeckc)Dougcutting答案CDougcutting4、下列哪个程序通常与NameNode在一个节点启动?a)SecondaryNameNodeb)DataNodeb)DataNodec)TakTrackerd)Jobtrac ker答案:D此题分析:hadoop的集群是基于mater/lave模式,namenode和jobtracker属于mater,datanode和taktracker属于lave,mater只有一个,而lave 有多个SecondaryNameNode内存需求和NameNode在一个数量级上,所以通常econdary,NameNode(运行在单独的物理机器上)和NameNode运行在不同的机器上。
JobTracker和TakTracker,JobTracker对应于NameNode,TakTracker对应于DataNode,DataNode和NameNode是针对数据存放来而言的,JobTracker和TakTracker是对于MapReduce执行而言的,mapreduce中几个主要概念,mapreduce整体上可以分为这么几条执行线索:obclient,JobTracker与TakTracker。
hadoop面试题目

hadoop面试题目Hadoop是当前大数据领域最为重要的开源框架之一,它具有分布式存储和处理大数据集的能力。
在Hadoop的生态系统中,有许多重要的组件和工具,比如HDFS(Hadoop分布式文件系统)、MapReduce、YARN(Yet Another Resource Negotiator)等。
在面试过程中,面试官通常会提出各种与Hadoop相关的问题,包括基础知识、架构设计、性能优化等方面。
本文将介绍一些常见的Hadoop面试题目,并提供相应的详细答案。
1. 什么是Hadoop?它的核心组件有哪些?Hadoop是一个开源的分布式存储和处理大规模数据的平台。
它的核心组件包括:- HDFS(Hadoop分布式文件系统):一个分布式文件系统,用于存储大量的数据。
- MapReduce:一个计算模型和处理框架,用于并行处理存储在HDFS中的数据。
- YARN(Yet Another Resource Negotiator):一个资源管理器,负责处理集群中的资源分配和任务调度。
2. Hadoop的主要优点是什么?Hadoop具有以下主要优点:- 可扩展性:Hadoop可以处理大规模数据集,可以在集群中添加更多的机器来提高存储和处理能力。
- 成本效益:Hadoop是基于廉价的硬件构建的,可以节省大量的成本,适用于对存储和计算资源要求较高的场景。
- 容错性:Hadoop的设计考虑了硬件故障的情况,具有高可用性和容错性,即使某个节点出现故障,也不会影响整个系统的运行。
3. 请解释HDFS的工作原理。
HDFS是Hadoop分布式文件系统,它的工作原理可以简述为以下几个步骤:- HDFS将大文件分割成多个数据块,每个数据块的默认大小为128MB。
- 每个数据块会有多个副本,分布在集群中的不同节点上,保证数据的容错性和可靠性。
- HDFS采用主从架构,有一个NameNode和多个DataNode。
NameNode负责存储文件的元数据信息,而DataNode负责存储实际的数据块。
Hadoop面试题

Hadoop⾯试题1、把数据仓库从传统关系数据库转到hadoop有什么优势?原关系存储⽅式昂贵空间有限hadoop⽀持结构化(例如 RDBMS),⾮结构化(例如 images,PDF,docs )和半结构化(例如 logs,XMLs)的数据可以以可扩展和容错的⽅式存储在较便宜的商品机器中。
可以通过批处理作业和近实时(即,NRT,200 毫秒⾄ 2 秒)流(例如 Flume 和 Kafka)来摄取数据。
数据可以使⽤诸如 Spark 和 Impala 之类的⼯具以低延迟(即低于 100 毫秒)的能⼒查询。
可以存储以兆兆字节到千兆字节为单位的较⼤数据量。
2、⼤数据解决⽅案的关键步骤是什么?提取数据,存储数据(即数据建模)和处理数据(即数据加⼯,数据转换和查询数据)。
3、下⾯哪个程序负责 HDFS 数据存储。
a)NameNode b)Jobtracker c)Datanode d)SecondaryNameNode e)Tasktracker答案C datanode4、下列哪个程序通常与 NameNode 在⼀个节点启动?a)SecondaryNameNode b)DataNode c)TaskTracker d)Jobtracker答案D分析:hadoop的集群是基于master/slave模式,namenode和jobtracker属于master,datanode和tasktracker属于slave,master只有⼀个,⽽slave 有多个SecondaryNameNode内存需求和NameNode在⼀个数量级上,所以通常secondary NameNode(运⾏在单独的物理机器上)和NameNode 运⾏在不同的机器上。
JobTracker和TaskTrackerJobTracker 对应于 NameNodeTaskTracker 对应于 DataNodeDataNode 和NameNode 是针对数据存放来⽽⾔的JobTracker和TaskTracker是对于MapReduce执⾏⽽⾔的5、关于 SecondaryNameNode 哪项是正确的?a)它是 NameNode 的热备 b)它对内存没有要求c)它的⽬的是帮助 NameNode 合并编辑⽇志,减少 NameNode 启动时间d)SecondaryNameNode 应与 NameNode 部署到⼀个节点6、NameNode和DataNode作⽤是什么?NameNode管理⽂件系统的元数据,DataNode存储实际的数据。
Hadoop常见面试笔试题目与参考答案小结

Hadoop常见⾯试笔试题⽬与参考答案⼩结1. namenode的重要性是什么?namenode的作⽤在Hadoop中⾮常重要。
它是Hadoop的⼤脑,主要负责管理系统上的分配块,还为客户提出请求时的数据提供特定地址2. 当NameNode关闭时会发⽣什么?如果NameNode关闭,⽂件系统将脱机。
3. 是否可以在不同集群之间复制⽂件?如果是的话,怎么能做到这⼀点?是的,可以在多个Hadoop集群之间复制⽂件,这可以使⽤分布式复制来完成。
Distcp是⼀个Hadoop复制⼯具,主要⽤于执⾏MapReduce作业来复制数据。
Hadoop环境中的主要挑战是在各集群之间复制数据,distcp也将提供多个datanode来并⾏复制数据。
4. 什么是检查点?对⽂件数据的修改不是直接写回到磁盘的,很多操作是先缓存到内存的Buffer中,当遇到⼀个检查点Checkpoint时,系统会强制将内存中的数据写回磁盘,当然此时才会记录⽇志,从⽽产⽣持久的修改状态。
因此,不⽤重放⼀个编辑⽇志,NameNode可以直接从FsImage加载到最终的内存状态,这肯定会降低NameNode启动时间5. 什么是机架感知?这是⼀种决定如何根据机架定义放置块的⽅法。
Hadoop将尝试限制存在于同⼀机架中的datanode之间的⽹络流量。
为了提⾼容错能⼒,名称节点会尽可能把数据块的副本放到多个机架上。
综合考虑这两点的基础上Hadoop设计了机架感知功能。
6. 投机性执⾏如果⼀个节点正在执⾏⽐主节点慢的任务。
那么就需要在另⼀个节点上冗余地执⾏同⼀个任务的⼀个实例。
所以⾸先完成的任务会被接受,另⼀个可能会被杀死。
这个过程被称为“投机执⾏”。
7. 是否可以在Windows上运⾏Hadoop?可以,但是最好不要这么做,Red Hat Linux或者是Ubuntu才是Hadoop的最佳操作系统。
在Hadoop安装中,Windows通常不会被使⽤,因为会出现各种各样的问题。
大数据Hadoop面试题!(附答案解析)

在大数据开发岗位的需求下,工资待遇水涨船高,不少编程人员在面对职业瓶颈期的时候,会选择转编程方向发展。
你是否已经意识这是你人生中的一个重要转机?能不能抓住这个时代的机遇,就在于你对大数据信息的应用和获取。
而如何成为大数据时代的弄潮儿,掌握当下最紧缺的软件技能是关键!谷歌、阿里巴巴、百度、京东都在急需掌握hadoop 技术的大数据人才!无论你精通大数据的哪一项类,都将在未来职场脱颖而出!传智播客上海校区为大家准备了一些面试问题,希望可以帮助到大家更多大数据知识请关注传智播客上海校区或登录传智播客官网了解更多视频01 单选题1、下面哪个程序负责HDFS 数据存储?a)NameNodeb)Jobtrackerc)Datanoded)secondaryNameNodee)tasktracker答案 C datanode2、HDfS 中的block 默认保存几份?a)3 份b)2 份c)1 份d)不确定答案 A 默认3份3、Hadoop 作者?a)Martin Fowlerb)Kent Beckc)Doug cutting答案 C Doug cutting4、下列哪个程序通常与NameNode 在一个节点启动?a)SecondaryNameNodeb)DataNodeb)DataNodec)TaskTrackerd)Jobtracker答案:D此题分析:hadoop 的集群是基于master/slave 模式,namenode 和jobtracker 属于mast er,datanode 和tasktracker 属于slave,master 只有一个,而slave 有多个SecondaryNameNode 内存需求和NameNode 在一个数量级上,所以通常secondary ,NameNode(运行在单独的物理机器上)和NameNode 运行在不同的机器上。
JobTracker 和TaskTracker,JobTracker 对应于NameNode,TaskTracker 对应于DataNode,DataNode 和NameNode 是针对数据存放来而言的,JobTrack er 和TaskTracker 是对于MapReduce 执行而言的,mapreduce 中几个主要概念,mapreduce 整体上可以分为这么几条执行线索:obclient,JobTracker 与Ta skTracker。
面试题--------hadoop面试题总结
⾯试题--------hadoop⾯试题总结1.HDFS 写数据流程1.client发起⽂件上传请求,通过RPC与NameNode建⽴通讯,NameNode检查⽬标⽂件是否已存在,⽗⽬录是否存在,返回是否可以上传⽂件2.client请求第⼀个block该传输到哪些DataNode服务器上Node根据配置⽂件汇总指定的备份数量及机架感知原理进⾏⽂件分配,返回可⽤的DataNode的地址如:A/B/C注:hadoop在设计时考虑到数据的安全与⾼校,数据⽂件默认在HDFS上存放三份,存储策略为本地⼀份,同机架内其他节点存⼀份,不同机架的某⼀节点上存⼀份4.client请求3台DataNode中的⼀台A上传数据(本质上是⼀个RPC调⽤,建⽴pipeline),A收到请求会继续调⽤B,然后B调⽤C,将整个pipeline建⽴完成,后逐级返回client5.client开始往A上传第⼀个block(先从磁盘读取数据放到⼀个本地内存缓存),以packet为单位(默认64k),A收到⼀个packet就会传给B, B传给C;A每传⼀个packet会放⼊⼀个应答队列等待应答。
6.数据被分割成⼀个个packet数据包在pipeline上依次传输,在pipeline反⽅向上,逐个发送ack(命令正确应答),最终由pipeline中第⼀个DataNode节点A将pipeline ack 发送给client7.当⼀个block传输完成之后,再次请求NameNode上传第⼆个block到服务器,与第⼀个block步骤⼀致。
直到所有的block都上传完成。
HDFS 读数据流程1.client向Namenode发起RPC请求,来确定请求⽂件block所在的位置Node会视情况返回⽂件的部分或者全部block列表,对于每个block,NameNode都会返回含有该block副本的DataNode地址3.这些返回DataNode地址,会按照集群拓扑结构得出DataNode与客户端的距离,然后进⾏排序,排序两个规则:⽹络拓扑结构中距离client近的排靠前;⼼跳机制中超时汇报的DataNode状态为STALE,这样的排靠后4.client选取排序靠前的DataNode来读取block,如果客户端本⾝就是DataNode,那么将从本地直接获取数据;5.底层上本质是建⽴Socket Stream(FSDataInputStream),重复的调⽤⽗类DataInputStream的read⽅法,直到这个块上的数据读取完毕6.当读完列表的block后,若⽂件读取还没有结束,客户端会继续向NameNode获取下⼀批的block列表7.读取完⼀个block都会进⾏checksum验证,如果读取DataNode时出现错误,客户端会通知NameNode,然后再从下⼀个拥有该block副本的DataNode继续读8、read⽅法是并⾏的读取block信息,不是⼀块⼀块的读取;NameNode只是返回client请求包含块的DataNode地址,并不是返回请求块的数据9.最终读取来所有的block会合并成⼀个完整的最终⽂件简述HDFS数据存储机制HDFS是解决海量数据存储问题的存储系统,具有⾼可靠,读写效率⾼等特点。
面试hadoop可能被问到的问题,你能回答出几个
1、hadoop运行的原理?hadoop主要由三方面组成:1、HDFS2、MapReduce3、HbaseHadoop框架中最核心的设计就是:MapReduce和HDFS。
MapReduce的思想是由Google的一篇论文所提及而被广为流传的,简单的一句话解释MapReduce就是“任务的分解与结果的汇总”。
HDFS是Hadoop分布式文件系统(Hadoop Distributed File System)的缩写,为分布式计算存储提供了底层支持。
MapReduce从它名字上来看就大致可以看出个缘由,两个动词Map和Reduce,“Map(展开)”就是将一个任务分解成为多个任务,“Reduce”就是将分解后多任务处理的结果汇总起来,得出最后的分析结果。
这不是什么新思想,其实在前面提到的多线程,多任务的设计就可以找到这种思想的影子。
不论是现实社会,还是在程序设计中,一项工作往往可以被拆分成为多个任务,任务之间的关系可以分为两种:一种是不相关的任务,可以并行执行;另一种是任务之间有相互的依赖,先后顺序不能够颠倒,这类任务是无法并行处理的。
回到大学时期,教授上课时让大家去分析关键路径,无非就是找最省时的任务分解执行方式。
在分布式系统中,机器集群就可以看作硬件资源池,将并行的任务拆分,然后交由每一个空闲机器资源去处理,能够极大地提高计算效率,同时这种资源无关性,对于计算集群的扩展无疑提供了最好的设计保证。
(其实我一直认为Hadoop 的卡通图标不应该是一个小象,应该是蚂蚁,分布式计算就好比蚂蚁吃大象,廉价的机器群可以匹敌任何高性能的计算机,纵向扩展的曲线始终敌不过横向扩展的斜线)。
任务分解处理以后,那就需要将处理以后的结果再汇总起来,这就是Reduce要做的工作。
2、mapreduce的原理?Hadoop中的MapReduce是一个使用简易的软件框架,基于它写出来的应用程序能够运行在由上千个商用机器组成的大型集群上,并以一种可靠容错的式并行处理上T级别的数据集。
Hadoop面试题整理
1 请列出你所知道的 hadoop 调度器 并简要说明其工作方法 随着MapReduce的流行,其开源实现Hadoop也变得越来越受推崇。在Hadoop系统中,有一个组件非常重要,那就是调度器,它的作用是将系统中空闲的资源按一定策略分配给作业。在Hadoop中,调度器是一个可插拔的模块,用户可以根据自己的实际应用要求设计调度器。Hadoop中常见的调度器有三种,分别为: (注:本文介绍的Hadoop调度器不够系统化,如果想了解更系统化的Hadoop调度器,可阅读我的最新书籍《Hadoop技术内幕:深入解析MapReduce架构设计与实现原理》(购买说明)第10章 “Hadoop多用户作业调度器分析”,分析了当前比较流行的FIFO、Capacity个Fair三种调度器的配置方法、实现机制和优缺点对比,当然,也介绍了其他类型的几种调度器。) (1)默认的调度器FIFO Hadoop中默认的调度器,它先按照作业的优先级高低,再按照到达时间的先后选择被执行的作业。 (2) 计算能力调度器Capacity Scheduler 支持多个队列,每个队列可配置一定的资源量,每个队列采用FIFO调度策略,为了防止同一个用户的作业独占队列中的资源,该调度器会对同一用户提交的作业所占资源量进行限定。调度时,首先按以下策略选择一个合适队列:计算每个队列中正在运行的任务数与其应该分得的计算资源之间的比值,选择一个该比值最小的队列;然后按以下策略选择该队列中一个作业:按照作业优先级和提交时间顺序选择,同时考虑用户资源量限制和内存限制。 (3)公平调度器Fair Scheduler 同计算能力调度器类似,支持多队列多用户,每个队列中的资源量可以配置,同一队列中的作业公平共享队列中所有资源,具体算法参见我的博文《Hadoop公平调度器算法解析》 实际上,Hadoop的调度器远不止以上三种,最近,出现了很多针对新型应用的Hadoop调度器。
Hadoop常见的45个面试题
科普文—常见的45个问题解答 • 工作
1集群可以运行的3个模式
• 单机(本地)模式 • 伪分布式模式 • 全分布式模式 2. 单机(本地)模式中的注意点?
在单机模式()中不会存在守护进程,所有东西都运行在一个上。这里同样没有,使用的是本地文件系统。单机模式适用于开发过程中运行程序,这也是最少使用的一个模式。
3. 伪分布模式中的注意点? 伪分布式()适用于开发和测试环境,在这个模式中,所有守护进程都在同一台机器上运行。
4. 是否可以称为? 不是,两个事物,同时只针对。 5. 全分布模式又有什么注意点? 全分布模式通常被用于生产环境,这里我们使用N台主机组成一个集群,守护进程运行在每台主机之上。这里会存在运行的主机,运行的主机,以及 运行的主机。在分布式环境下,主节点和从节点会分开。
6. 是否遵循模式? 是的,在用例下,还拥有“”目录。 7. 安装在什么目录下? 和使用相同的目录结构,被安装在0.20/。 8. 、 和 的端口号是? ,70; ,30; ,60。 9. 的核心配置是什么? 的核心配置通过两个文件来完成:1,;2,。这些文件都使用格式,因此每个中都有一些属性,包括名称和值,但是当下这些文件都已不复存在。
10. 那当下又该如何配置? 现在拥有3个配置文件:1,;2,;3,。这些文件都保存在子目录下。
11. 的溢出因子是? 溢出因子( )是临时文件中储存文件的大小,也就是目录。 12. 只是单一的目录? 只是一个目录。 13. 的3个主要属性? • 决定的是元数据存储的路径以及的存储方式(磁盘或是远端) • 决定的是数据存储的路径 • 用于第二 14. 如何退出输入模式?
退出输入的方式有:1,按;2,键入(如果你没有输入任何当下)或者键入(如果你已经输入当下),并且按下。
15. 当你输入 /造成“ ’”时,系统究竟发生了什么? 这意味着没有运行在你的之上。 16. 我们使用及,那么我们该去哪里下载,或者是默认就与一起安装?
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.0 简要描述如何安装配置apache的一个开源hadoop,只描述即可,无需列出具体步骤,列出具体步骤更好。
答:第一题:1使用root账户登录 2 修改IP 3 修改host主机名 4 配置SSH免密码登录 5 关闭防火墙 6 安装JDK 6 解压hadoop安装包 7 配置hadoop的核心文件 hadoop-env.sh,core-site.xml , mapred-site.xml , hdfs-site.xml
8 配置hadoop环境变量 9 格式化 hadoop namenode -format 10 启动节点start-all.sh 3.0请写出以下的shell命令 (1)杀死一个job (2)删除hdfs上的 /tmp/aaa目录 (3)加入一个新的存储节点和删除一个节点需要执行的命令 答:(1)hadoop job –list 得到job的id,然后执 行 hadoop job -kill jobId就可以杀死一个指定jobId的job工作了。
(2)hadoop fs -rmr /tmp/aaa (3) 增加一个新的节点在新的几点上执行 Hadoop daemon.sh start datanode Hadooop daemon.sh start tasktracker/nodemanager
下线时,要在conf目录下的excludes文件中列出要下线的datanode机器主机名 然后在主节点中执行 hadoop dfsadmin -refreshnodes à下线一个datanode
删除一个节点的时候,只需要在主节点执行 hadoop mradmin -refreshnodes ---à下线一个tasktracker/nodemanager
4.0 请列出你所知道的hadoop调度器,并简要说明其工作方法 答:Fifo schedular :默认,先进先出的原则 Capacity schedular :计算能力调度器,选择占用最小、优先级高的先执行,依此类推。 Fair schedular:公平调度,所有的 job 具有相同的资源。 就用过 java 和 hiveQL。 Java 写 mapreduce 可以实现复杂的逻辑,如果需求简单,则显得繁琐。 HiveQL 基本都是针对 hive 中的表数据进行编写,但对复杂的逻辑(杂)很难进行实现。写起来简单。
10.简述hadoop实现jion的几种方法 Map side join----大小表join的场景,可以借助distributed cache Reduce side join 12.0 请简述mapreduce中的combine和partition的作用 答:combiner是发生在map的最后一个阶段,其原理也是一个小型的reducer,主要作用是减少输出到reduce的数据量,缓解网络传输瓶颈,提高reducer的执行效率。
partition的主要作用将map阶段产生的所有kv对分配给不同的reducer task处理,可以将reduce阶段的处理负载进行分摊
18. 我们在开发分布式计算job的时候,是否可以去掉reduce阶段 答:可以,例如我们的集群就是为了存储文件而设计的,不涉及到数据的计算,就可以将mapReduce都省掉。
比如,流量运营项目中的行为轨迹增强功能部分 怎么样才能实现去掉reduce阶段 去掉之后就不排序了,不进行shuffle操作了 19 hadoop中常用的数据压缩算法 答: Lzo Gzip Default Snapyy 如果要对数据进行压缩,最好是将原始数据转为SequenceFile 或者 Parquet File(spark)
20. mapreduce的调度模式(题意模糊,可以理解为yarn的调度模式,也可以理解为mr的内部工作流程)
答: appmaster作为调度主管,管理maptask和reducetask Appmaster负责启动、监控maptask和reducetask Maptask处理完成之后,appmaster会监控到,然后将其输出结果通知给reducetask,然后reducetask从map端拉取文件,然后处理;
当reduce阶段全部完成之后,appmaster还要向resourcemanager注销自己 25.datanode在什么情况下不会备份数据 答:在客户端上传文件时指定文件副本数量为1 26.combine出现在哪个过程 答:shuffle过程中 具体来说,是在maptask输出的数据从内存溢出到磁盘,可能会调多次 Combiner使用时候要特别谨慎,不能影响最后的逻辑结果 27. hdfs的体系结构 答: 集群架构: namenode datanode secondarynamenode (active namenode ,standby namenode)journalnode zkfc 内部工作机制: 数据是分布式存储的 对外提供一个统一的目录结构 对外提供一个具体的响应者(namenode) 数据的block机制,副本机制 Namenode和datanode的工作职责和机制 读写数据流程 28. flush的过程 答:flush是在内存的基础上进行的,首先写入文件的时候,会先将文件写到内存中,当内存写满的时候,一次性的将文件全部都写到硬盘中去保存,并清空缓存中的文件,
32.三个datanode中当有一个datanode出现错误时会怎样? 答: Namenode会通过心跳机制感知到datanode下线 会将这个datanode上的block块在集群中重新复制一份,恢复文件的副本数量 会引发运维团队快速响应,派出同事对下线datanode进行检测和修复,然后重新上线
34.描述一下hadoop中,有哪些地方使用到了缓存机制,作用分别是什么? 答: Shuffle中 Hbase----客户端/regionserver
35.MapReduce优化经验 答:(1.)设置合理的map和reduce的个数。合理设置blocksize (2.)避免出现数据倾斜 (3.combine函数 (4.对数据进行压缩 (5.小文件处理优化:事先合并成大文件,combineTextInputformat,在hdfs上用mapreduce将小文件合并成SequenceFile大文件(key:文件名,value:文件内容)
(6.参数优化
39.mapreduce的大致流程 答:主要分为八个步骤 1/对文件进行切片规划 2/启动相应数量的maptask进程 3/调用FileInputFormat中的RecordReader,读一行数据并封装为k1v1 4/调用自定义的map函数,并将k1v1传给map 5/收集map的输出,进行分区和排序 6/reduce task任务启动,并从map端拉取数据 7/reduce task调用自定义的reduce函数进行处理 8/调用outputformat的recordwriter将结果数据输出 48.hadoop运行原理 答:hadoop的主要核心是由两部分组成,HDFS和mapreduce,首先HDFS的原理就是分布式的文件存储系统,将一个大的文件,分割成多个小的文件,进行存储在多台服务器上。
Mapreduce的原理就是使用JobTracker和TaskTracker来进行作业的执行。Map就是将任务展开,reduce是汇总处理后的结果。
49.mapreduce的原理 答:mapreduce的原理就是将一个MapReduce框架由一个单独的master JobTracker和每个集群节点一个slave TaskTracker共同组成。master负责调度构成一个作业的所有任务,这些的slave上,master监控它们的执行,重新执行已经失败的任务。而slave仅负责执行由maste指派的任务。
50.HDFS存储机制 答:HDFS主要是一个分布式的文件存储系统,由namenode来接收用户的操作请求,然后根据文件大小,以及定义的block块的大小,将大的文件切分成多个block块来进行保存
52.如何确认hadoop集群的健康状况 答:有完善的集群监控体系(ganglia,nagios) Hdfs dfsadmin –report Hdfs haadmin –getServiceState nn1
53.mapreduce作业,不让reduce输出,用什么代替reduce的功能。
63. 谈谈 hadoop1 和 hadoop2 的区别 答: hadoop1的主要结构是由HDFS和mapreduce组成的,HDFS主要是用来存储数据,mapreduce主要是用来计算的,那么HDFS的数据是由namenode来存储元数据信息,datanode来存储数据的。Jobtracker接收用户的操作请求之后去分配资源执行task任务。
在hadoop2中,首先避免了namenode单点故障的问题,使用两个namenode来组成namenode feduration的机构,两个namenode使用相同的命名空间,一个是standby状态,一个是active状态。用户访问的时候,访问standby状态,并且,使用journalnode来存储数据的原信息,一个namenode负责读取journalnode中的数据,一个namenode负责写入journalnode中的数据,这个平台组成了hadoop的HA就是high availableAbility高可靠。
然后在hadoop2中没有了jobtracker的概念了,统一的使用yarn平台来管理和调度资源,yarn平台是由resourceManager和NodeManager来共同组成的,ResourceManager来接收用户的操作请求之后,去NodeManager上面启动一个主线程负责资源分配的工作,然后分配好了资源之后告知ResourceManager,然后ResourceManager去对应的机器上面执行task任务。
67. 文件大小默认为 64M,改为 128M 有啥影响? 答:更改文件的block块大小,需要根据我们的实际生产中来更改block的大小,如果block定义的太小,大的文件都会被切分成太多的小文件,减慢用户上传效率,如果block定义的太大,那么太多的小文件可能都会存到一个block块中,虽然不浪费硬盘资源,可是还是会增加namenode的管理内存压力。