Hadoop面试题汇总_第1页
Hadoop面试题汇总_第2页
Hadoop面试题汇总_第3页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单选题1. 下面哪个程序负责 数据存储。a) b) c) d) e)答案 C2. 中的 默认保存几份?a) 3 份 b)2 份 c)1 份 d) 不确定答案A默认3分3. 下列哪个程序通常与 在一个节点启动?a) b) c) d)答案 D4. 作者a) b) c)答案 C5. 默认a)32 b)64 c)128答案: 1 版本是 64M2 版本是 128M6. 下列哪项通常是集群的最主要瓶颈a) b) 网络 c) 磁盘 d) 内存答案: C 磁盘7 所创立的项目的名称都受到其家人的启发,以下项目不是由 他创立的项目是ABCD答案: D8. 配置时,包含在哪一个配置文件中ABCD答案: B9.

2、配置文件中,显示覆盖里的内容。在版本 0.20 中,被分离 成三个文件,不包括ABCD答案: A10 默认的当前工作目录是 $,的值需要在哪个配置文件内说明A.B.C.D. 以上均不是答案: B11. 关于单机模式和伪分布式模式的说法,正确是A两者都起守护进程,且守护进程运行在一台机器上B单机模式不使用,但加载守护进程C两者都不与守护进程交互,避免复杂性D后者比前者增加了输入输出以及可检查内存使用情况答案: D12. 下列关于 的说法错误的是A的文件不是通用的,只用于文件系统B类的默认实例化方法是以系统的资源配置为基础的3 / 33C 对象存储文件和目录的元数据D 是的子类答案: A13 的负

3、责管理文件系统的命名空间,将所有的文件和文件夹的 元数据保存在一个文件系统树中,这些信息也会在硬盘上保存 成以下文件:A. 日志B. 命名空间镜像C. 两者都是答案: C14. 的保存了一个文件包括哪些数据块,分布在哪些数据节点 上,这些信息也存储在硬盘上。A. 正确B. 错误答案: B知识点:在系统启动的时候从数据节点收集而成的15 就是出现问题时的备用节点A .正确B.错误答案: B知识点:它和元数据节点负责不同的事情。其主要功能就是周期性将元数据节点的命名空间镜像文件和修改日志合 并,以防日志文件过大。合并过后的命名空间镜像文件也在 保存了一份,以防失败的时候,可以恢复。16 的是基于流

4、数据模式访问和处理超大文件的需求而开发的, 默认的最基本的存储单位是 64M具有咼容错、咼可靠性、咼 可扩展性、高吞吐率等特征,适合的读写任务是A. 次写入,少次读写B. 多次写入,少次读写C. 一次写入,多次读写D. 多次写入,多次读写答案: C17 无法咼效存储大量小文件,想让它能处理好小文件,比较可行的改进策略不包括A.利用、等方式归档小文件B.多设计C.大小适当调小D.调大内存或将文件系统元数据存到硬盘里答案:D18. 关于的文件写入,正确的是A.支持多用户对同一文件的写操作B.用户可以在文件任意位置进行修改C默认将文件块复制成三份存放D复制的文件块默认都存在同一机架上答案:C19 中

5、的和命令操作对象是A文件B目录C两者都是答案:C20 在启动时自动进入安全模式,在安全模式阶段,说法错误的 是A安全模式目的是在系统启动时检查各个上数据块的有效性B根据策略对数据块进行必要的复制或删除C当数据块最小百分比数满足的最小副本数条件时,会自动退出安全模式D 文件系统允许有修改答案: D21. 下列关于为存储并行切分和处理的数据做的设计,错误的 是A 扩展了以支持随机读B 为实现细粒度并行,输入分片 ( ) 应该越小越好C 一台机器可能被指派从输入文件的任意位置开始处理一个分片D 输入分片是一种记录的逻辑划分,而数据块是对输入数据的物理分割答案: B多选题1. 关于 哪项是正确的?a)

6、 它是 的热备b) 它对内存没有要求c) 它的目的是帮助 合并编辑日志,减少 启动时间d) 应与 部署到一个节点答案 C D2. 下列哪项可以作为集群的管理?a) b) c) d)答案 1:3. 配置机架感知的下面哪项正确a) 如果一个机架出问题,不会影响数据读写b) 写入数据的时候会写到不同机架的 中c) 会根据机架获取离自己比较近的网络数据 答案具体可以参考 机架感知加强集群稳固性,该如何配置机架感知4. 端上传文件的时候下列哪项正确a) 数据经过 传递给b) 端将文件切分为 ,依次上传c) 只上传数据到一台 ,然后由 负责 复制工作答案 B5. 下列哪个是 运行的模式a) 单机版 b)

7、伪分布式 c) 分布式 答案6. 提供哪几种安装 的方法a) b) c) d) 答案:具体可以参考四种安装方式总结及实例指导简答题1 集群可以运行的 3 个模式?1)单机(本地)模式 ;2)伪分布式模式 ;3)全分布式模式 ;2. 单机(本地)模式中的注意点?在单机模式 ()中不会存在守护进程, 所有东西都运行在一个 上。这里同样没有, 使用的是本地文件系统。 单机模式适用于 开发过程中运行程序,这也是最少使用的一个模式。3. 伪分布模式中的注意点?伪分布式 ()适用于开发和测试环境, 在这个模式中, 所有守 护进程都在同一台机器上运行。4. 全分布模式又有什么注意点?全分布模式通常被用于生产

8、环境,这里我们使用N 台主机组成一个集群, 守护进程运行在每台主机之上。 这里会存在运行 的主机,运行的主机,以及 运行的主机。在分布式环境下, 主节点和从节点会分开。5. 是否遵循模式?是的,在用例下,还拥有“”目录。6. 的核心配置是什么?的核心配置通过两个文件来完成: 1,;2,。这些文件都使用 格式,因此每个中都有一些属性, 包括名称和值, 但是当下这 些文件都已不复存在。7. 那当下又该如何配置?现在拥有 3 个配置文件: 1,; 2,; 3,。这些文件都保存在 子目录下。8. 只是单一的目录?只是一个目录。9. 的 3 个主要属性?决定的是元数据存储的路径以及的存储方式 (磁盘或是

9、远端) 决定的是数据存储的路径用于第二10. 如何退出输入模式?退出输入的方式有: 1,按;2,键入(如果你没有输入任何当 下)或者键入(如果你已经输入当下),并且按下。11. “”命令的用处?这个命令可以检查、 、 是否正常工作。12. 如何重启? 点击,再点击。键入 (), (),(),及 0.20 ()。13. 的全名? 全名是: 。14. 命令的作用?可以让你知道哪个节点是 。15. 命令的作用是? 说明了守护进程(服务)的位置或状态,其实是特性,和关 系不大。16. 如何在浏览器中查找? 如果你确实需要在浏览器中查找,你不再需要 :8021 ,的端口 号是 50070。17. 是用于

10、做什么的?提供了中 . 的运行环境。18. 文件是否提供了多个入口? 是的你可以拥有多个文件接口。19. 文件当下的位置? 现在位于。20. 在中,代表了什么? 代表了“ ”。21. 用于做什么? 用来存储。22. 需求什么样的网络? 核心使用()来驱动从节点上的服务器进程,并在主节点和 从节点之间使用 连接。23. 全分布式环境下为什么需求 ? 这主要因为集群中通信过于频繁, 需要尽可能快的给 发布 任务。24. 工作的端口号是? 工作的端口号是 .22 ,当然可以通过它来配置, 22 是默认的端 口号。25. 为什么本地主机需要密码?在中使用密码主要是增加安全性,在某些情况下也根本不会 设

11、置密码通信。26. 如果在中添加,是否还需要设置密码? 是的,即使在中添加了,还是需要设置密码。27. 假如中没有数据会怎么样?没有数据的就不能称之为,通常情况下,肯定会有数据28. 当 宕掉时,会发生什么?当 失败时,集群仍然可以正常工作,只要没问题。29. 是否可以在上运行?你最好不要这么做, 或者是才是的最佳操作系统。在安装 中,通常不会被使用, 因为会出现各种各样的问题。 因此,绝 对不是的推荐系统。30. 简要描述如何安装配置一个开源版,描述即可,列出步骤更好1. 配置主机名2. 配置4. 安装5. 安装6. 配置(1) 修改(2) 修改(3) 修改(4) 修改(5) 修改(6) 修

12、改7. 配置的环境变量8. 格式化分别是什么?名字节点,存储元数据辅助实现文件和文件的合并存储数据的节点负责集群中所有资源的统一管理和分,它接收来自各个节点()的资源汇报信息,并把这些信息按照一定的策略分配给各个应用 程序是中每个节点上的代理,它管理集群中单个计算节点,包括与 保持通信,监督的生命周期管理,监控每个的资源使用(内存、 等)情况,追踪节点健康状况,管理日志和不同应用程序用到的 附属服务()33.请写出以下执行命令1)杀死一个?2)删除上的目录3加入一个新的存储节点和删除一个计算节点需要刷新集群状态 命令?5. 请列出你所知道的调度器,并简要说明其工作方法?(1)默认的调度器(2)

13、 计算能力调度器(3) 公平调度器(4) 适用于异构集群的调度器(5) 适用于实时作业的调度器和6. 请列出在你以前工作中所使用过的开发的语言?7. 当前日志采样格式为34有哪些方式保存元数据,各有哪些特点?原生使用作为元数据库,无法并发调用可以将元数据保存在数据库中远程服务器模式,在服务器端启动一个,客户端利用 协议通过访问元数据库35. 请简述怎么样实现二级排序?有两种方法进行二次排序,分别为:和。对于,主要思想是:在()函数中,将某个对应的所有保存下来,然后进行排序。这种方法最大的缺点是:可能会造成对于,主要思想是:将和部分拼接成一个组合(实现接口或 者调用函数),这样获取的结果便是先按

14、排序, 后按排序的结果, 需要注意的是,用户需要自己实现,以便只按照进行数据划分36. 简述实现的几种方法?2.1是一种最简单的方式,其主要思想如下: 在阶段,函数同时读取两个文件 1和 2,为了区分两种来源的数 据对,对每条数据打一个标签() ,比如: 0 表示来自文件 1,2 表示来自文件 2。即:阶段的主要任务是对不同文件中的数据打 标签。在阶段,函数获取相同的来自 1 和 2 文件的 , 然后对于同一 个,对 1 和 2 中的数据进行(笛卡尔乘积)。即:阶段进行实际 的连接操作。2.2之所以存在 ,是因为在阶段不能获取所有需要的字段,即:同 一个对应的字段可能位于不同中。 是非常低效的

15、, 因为阶段要 进行大量的数据传输。是针对以下场景进行的优化: 两个待连接表中, 有一个表非常 大,而另一个表非常小,以至于小表可以直接存放到内存中。这 样,我们可以将小表复制多份,让每个 内存中存在一份(比如 存放到 中),然后只扫描大表:对于大表中的每一条记录,在 中查找是否有相同的的记录,如果有,则连接后输出即可。 为了支持文件的复制,提供了一个类,使用该类的方法如下: 的(如果是上的文件,可以这样: :9000 ,其中 9000 是自己配置 的端口号)。在作业启动之前会获取这个列表,并将相应的文件 拷贝到各个的本地磁盘上。 ( 2)用户使用 () 方法获取文件目录, 并使用标准的文件读

16、写读取相应的文件。2.3 ,也叫半连接,是从分布式数据库中借鉴过来的方法。它的产生 动机是:对于 ,跨机器的数据传输量非常大,这成了操作的一 个瓶颈, 如果能够在端过滤掉不会参加操作的数据, 则可以大大 节省网络。实现方法很简单:选取一个小表,假设是 1,将其参与的抽取出 来,保存到文件 3 中, 3 文件一般很小,可以放到内存中。在阶 段,使用将 3复制到各个上, 然后将 2 中不在 3中的对应的记录 过滤掉,剩下的阶段的工作与 相同。2.4 + 在某些情况下,抽取出来的小表的集合在内存中仍然存放不下, 这时候可以使用以节省空间。最常见的作用是: 判断某个元素是否在一个集合里面。 它最重要

17、的两个方法是: () 和 () 。最大的特点是不会存在 ,即:如果 () 返回,则该元素一定不在集合中, 但会存在一定的 ,即:如果 () 返回,则该元素可能在集合中。因而可将小表中的保存到中, 在阶段过滤大表, 可能有一些不在 小表中的记录没有过滤掉(但是在小表中的记录一定不会过滤掉),这没关系,只不过增加了少量的网络而已37. 请用实现非递归二分查找?( ) 第一个位置 .0;最高位置 .数组长度 -1, 因为下标是从 0开始的.1;当" 指针" 和不重复的时候 .(<)中间位置计算 最高位置减去最低位置 ,右移一位 ,相当于 除 2. 也可以用 ()/2()&g

18、t;>1);与最中间的数字进行判断 ,是否相等 , 相等的话就返回对 应的数组下标 .()J如果小于的话则移动最高层的 " 指针 " (<)1;移动最低的 " 指针"1;-1;38. 请简述中,作用?:分区操作是操作中的一个重要过程,作用就是将的结果按照 规则分发到不同中进行处理,从而按照分区得到多个输出结果 :每一个可能会产生大量的输出,的作用就是在端对输出先做 一次合并,以减少传输到的数据量39用如何处理数据倾斜问题1. 增加的内存2. 增加个数3.3. 其他优化的讨论.4. 排序算法的讨论5. 正在实现中的.7.8.9.尤其是40 中内

19、部表和外部表的区别 内部表现有表后有数据,数据在的目录下管理 外部表先有数据后有表,数据不再的目录下管理 删除表时,内部表对应文件被删除 删除表时,外部表对应的文件不会被删除41 用使用非递归二分查找参看题 3742 如何处理大量小文件(1)或者,是一个高效地将小文件放入块中的文件存档工具,它能 够将多个小文件打包成一个文件,这样在减少内存使用的同 时,仍然允许对文件进行透明的访问。对某个目录下的所有小文件存档成 :当然,也可以指定的大小 (使用) 。是在 之上的一个文件系统,因此所有 命令对文件均可用,只 不过是文件路径格式不一样,的访问路径可以是以下两种格 式:( 本节点 )可以这样查看文

20、件存档中的文件:输出:12使用时需要两点,第一,对小文件进行存档后,原文件并不会 自动被删除,需要用户自己删除;第二,创建文件的过程实际 上是在运行一个作业,因而需要有一个集群运行此命令。此外,还有一些缺陷:第一,一旦创建,便不可改变。要增加 或移除里面的文件,必须重新创建归档文件。第二,要归档的 文件名中不能有空格,否则会抛出异常,可以将空格用其他符 号替换 ( 使用 和参数 ) 。(2)由一系列的二进制组成,如果为小文件名,为文件内容,则可 以将大批小文件合并成一个大文件。0.21.0 中提供了,包括,和类进行写,读和排序操作。如果版 本低于 0.21.0 的版本,实现方法可参见 3 。(

21、3)是一种新的,用于将多个文件合并成一个单独的,另外,它会 考虑数据的存储位置。43中的默认保存几份?3份44继承那个类创建类继承自己编写一个方法,返回值和参数任意。45. 请列出正常工作的集群中都需要启动哪些进程,他们的作用 分别是什么?参看题3246、处理过程1)输入文件()2)格式化输入文件()3)分割器()4)5)6)分区和洗牌(& )23 / 338)9)格式化输出()47、流程参看题4848、上传细节使用提供的客户端开发库,向远程的发起请求;会检查要创建的文件是否已经存在,创建者是否有权限进 行操作,成功则会为文件创建一个记录,否则会让客户端抛出异常;当客户端开始写入文件的

22、时候,开发库会将文件切分成多 个,并在内部以数据队列""的形式管理这些,并向申请新的, 获取用来存储的合适的列表,列表的大小根据在中对的设置而定。开始以(管道)的形式将写入所 有的中。开发库把以流的 方式写入第一个,该把该存储之后,再将其传递给在此中的下一个,直到最后一个,这种写数据的方式呈流水线的形式。最后一个成功存储之后会返回一个 ,在里传递至客户端, 在客户端的开发库内部维护着"",成功收到返回的 后会从"" 移除相应的。如果传输过程中,有某个出现了故障,那么当前的会被关 闭,出现故障的会从当前的中移除, 剩余的会继续剩下的中继

23、 续以的形式传输,同时会分配一个新的,保持 设定的数量。49、的做什么的是一个开放源码的分布式协调服务,是一种典型的分布式数 据一致性解决方案。由雅虎创建,贡献给了。利用可以实现数据发布订阅、 负载均衡、 命名服务、 分布式协 调 / 通知、集群管理、分布式锁、分布式队列等功能。50、是什么是 4 提供的一种新的方式,也叫做非阻塞式,特点是可以在 非阻塞模式下进行工作, 时都不会产生阻塞,从而可以解决 在高并发场景下遇到的问题。51、的细节中的表在行的方向上分隔为多个,分散在不同的中 这样做的目的是在查询时可以将工作量分布到多个中以提高 速度由 ) 表示是分布式存储和负载均衡的最小单元要注意不

24、在中, 而是在的内存中, 在内存(其实也有数据在本 地文件系统中, 因为内存空间毕竟是有限的) 中存储数据以提高 查询性能,对于修改会将数据同步到中,以持久化数据。中的数据按照的字典顺序(字典顺序!先比较第一位 如 果相同再比较第二位。)按序存储,所以当以查询数据时, 可以提高速度。的分裂, 当变的很大时会分裂成两个, 存放到不同的中, 防止 一个过大,导致查询其中数据时速度很慢的系统结构:主要有52、什么是分布式分布式处理则是将不同地点的, 或具有不同功能的, 或拥有不 同数据的多台计算机通过通信网络连接起来, 在控制系统的统一 管理控制下,协调地完成大规模信息处理任务的计算机系统。53 函

25、数式编程的好处:1. 代码简洁,开发快速2. 接近自然语言,易于理解3. 更方便的代码管理4. 易于“并发编程”5. 代码的热升级(函数式编程没有副作用,只要保证接口不 变,内部实现是外部无关的。所以,可以在运行状态下直接升级 代码,不需要重启,也不需要停机。)54 在中,比如启动,会打印很多日志,什么命令可以不显示这些日志? 可以通过在命令前增加上命令来实现55 的 加锁是加部分 锁 是加的哪部分?数据分段上56 环形缓冲区集群搭配的作用和优化? 每个有一个环形内存缓冲区, 用于存储任务的输出。 默认大小100(属性),一旦达到阀值 0.8 () , 一个后台线程把内容写到() 磁盘的指定目

26、录()下的新建的一个溢出写文件。 写磁盘前, 要。如果有后续的数据, 将会继续写入环形缓冲区中,最终写入下一个溢出文件中。环形缓冲区是一种缓冲区技术,通过首尾相接的方式循环使 用缓冲区,解决了数据量过大时缓冲区大小过大的问题。57、 原理和所有的都可以提供查询功能 只有能够提供增删改的功能,如果客户端连接表示要进行增删改,会将请求转发给来处理。 所有的增删改的操作都会有一个版本号,这个版本号是递增唯一的,用来记录提案的顺序。如何选老大?选老大情况 1:集群刚启动时,谁当老大都可以,一般是最先启动的做老大选老大情况 2:老大挂了,集群会暂时停止对外服务进入 选举阶段,所有都会广播一个自己的所持有

27、的最高版本给整个集 群,当大家收到其他发过来的最高版本信息后,就会进行投票, 投给收到的版本信息最高的, 每个机器只能发一票, 此时选择集 群中数据版本最高的机器做老大, 任意一个当发现自己收到了过 半的投票(自己也可以投给自己) , 可以认为获得了选举胜利, 可以成为了。老大如何决定一个提案是否通过? 如果老大自己说了算,那么如果刚好老大挂了,其他人不 知道老大同一的提案, 可能就造成新选出来的不知道之前老大同 意过的提案,从而造成违反一致性。不可行如果老大把提案发给所有人,所有人都同意了才能通过提 案,这时如果集群中任意一台机器出问题,投票都无法进行,相 当于存在单节点故障的可能。不可取。

28、折中一下,老大收到提案后,发给所有人,所有人收到后 都要回复老大, 当老大收到过半同意的投票时, 则通过这个提案。这样一来,极端的情况下只要集群中有过半的机器还活着, 选出来的老大是一定知道之前老大最后提案的。! 引申出来的结论是,集群必须过半存活才能正常工作!! 又引申出来的结论是,偶数台机器提供的集群可靠性 和偶数 -1 台机器提供的可靠性是相同的!所以集群中机器的数 量最好是基数个。58、的可以存那些数据 包括文件和之间关系的信息、数量信息、和之间的关系信息59 和传统的面临的问题:在执行如下操作时会产生阻塞:在高并发场景下,如上的方法产生的阻塞可能会产生一些 无法避免的问题。在开发服务

29、器程序时,通常针对于每一个客户端都要创建 一个线程来处理, 而线程的开辟和运行是相当耗费资源的, 服务 器能够运行的并发线程数量是很有限的。 在高并发场景下, 大量 的客户端并发连接导致服务器创建大量线程, 会直接影响服务器 的性能。 而一些场景下客户端连接后传输的数据并不多, 只是保 持连接的状态, 此时创建的大量线程闲置着浪费服务器资源。 所 以我们想到用少量的线程来处理多个客户端的连接, 但是这种方 式下传统会有阻塞的问题决定了是无法实现的。也叫做非阻塞式,特点是可以在非阻塞模式下进行工作, 时都不会产生阻塞,从而可以解决在高并发场景下遇到的问题。: 面向流操作的是字节或字符流只能单向传

30、输数据 操作的是字节或字符: 面向通道操作的是缓冲区通道可以双向的传输数据 操作的是缓冲区60 聚类包括那些?一堆数据,怎么用聚类中的一个算法实现?算法接受输入量 k ;然后将 n 个数据对象划分为 k 个聚类以 便使得所获得的聚类满足: 同一聚类中的对象相似度较高; 而不 同聚类中的对象相似度较小。 聚类相似度是利用各聚类中对象的 均值所获得一个“中心对象”(引力中心)来进行计算的。算法的工作过程说明如下:首先从 n 个数据对象任意选择 k 个对象作为初始聚类中心;而 对于所剩下其它对象, 则根据它们与这些聚类中心的相似度 (距 离),分别将它们分配给与其最相似的(聚类中心所代表的)聚 类; 然后再计算每个所获新聚类的聚类中心 (该聚类中所有对象的均 值);不断重复这一过程直到标准测度函数开始收敛为止。般都采用均方差作为标准测度函数 . k 个聚类具有以下特点: 各聚类本身尽可能的紧凑,而各聚类之间尽可能的分开。(中心法) 有其缺点:产生类的大小相差不会很大,对于脏数据很敏感。 改进的算法: k 方法。 这儿选取一个对象叫做来代替上面的中 心的作用, 这样的一个就标识了这个类。 和不一样的地方在于中 心点的选取, 在中, 我们将中心点取为当前中所有数据点的平均 值,在 算法中, 我们将从当前 中选取这样一

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论