hadoop 面试题

2018/1/26

一、简答题

 1. 什么是hadoop,用hadoop来做什么?

     Hadoop是一种以一种可靠、高效、可伸缩的方式进行处理,能够对大量数据进行分布式处理的系统框架。

利用Hadoop能够实现文件系统的分级操作。Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS按分布式处理的方式对海量数据实现创建、删除、移动或重命名等存储操作,而MapReduce为数据提供计算。

2什么是HDFS,它的存储机制是什么?

  Hadoop实现了一个分布式文件系统,简称HDFS。对外部客户机而言,HDFS就像一个传统的分级文件系统,可以创建、产出、移动或者重命名文件,有时也称为DFS。

   存储机制:1.HDFS中的文件在物理上市分块存储。2.目录结构及文件分块位置信息的管理由Namenode节点承担,Namenode是HDFS集群主节点,负责维护整个HDFS文件系统的目录树,以及每个路径所对应的数据块的信息。3.文件中每个块的存储由Datanode承担。4由Datanode定期想Namenode汇报自身所保存的文件块信息,Namenode负责保持文件副本数量。

3如何配置Hadoop?

  --安装运行环境VM+ubuntu。

  --安装JDK

 --JDK环境变量配置

  --安装Hadoop(下载,解压)

  --配置Hadoop(环境变量配置)

  --启动Hadoop

  --最后测试Hadoop服务

二、填空题

(1)在默认情况下,HDFS块的大小为(64M)。

(2)在大多数情况下,副本系数是3,HDFS的存放策略将第二个副本放在(与存放数据机架最近的机架的某一节点上)。

(3)假设设置的副本数是3,现在系统中有5个副本,那么系统会删除(2)个副本。

(4)在配置文件hdfs-default.xml中定义副本率为(1)时,HDFS将处于安全模式(伪分布)。

(5)下列(B)不属于NameNode的功能。

A.提供名称查询服务B.保存Block信息,汇报Block信息C.保存metadata信息D.metadata信息在启动后会加载到内存

三、简答题

1 HDFS和传统的分布式文件系统相比较,有哪些独特的特性? 

①分片冗余,本地校验。传统的分布式的文件系统会因为分布后的结构不完整,导致系统复杂度加大,并且引入的网络编程,同样导致分布式文件系统更加复杂。而HDFS采用分片冗余,本地校验的方法很好的解决了传统分布式的文件系统的这一问题。数据冗余式存储,直接将多份的分片文件交给分片后的存储服务器去校验。

②准确性高。冗余后的分片文件还有个额外功能,只要冗余的分片文件中有一份是完整的,经过多次协同调整后,其他分片文件也将完整。经过协调校验,无论是传输错误,I/O错误,还是个别服务器宕机,整个系统里的文件是完整的

③弹性好。传统分布式文件系统有个无法回避的问题,因为文件不在一个磁盘导致读取访问操作的延时,而现阶段,HDFS的配置是按照高数据吞吐量优化的,可能会以高时间延时为代价。但万幸的是,HDFS是具有很高弹性,可以针对具体应用再优化。

④优化的副本存放策略。HDFS采用一种称为机架感知的策略来改进数据的可靠性、可用性和网络带宽的利用率。

 2为什么HDFS的块如此之大?     

 为了最小化寻址开销。如果块设置得足够大,从磁盘传输数据的时间可以明显大于定位这个块开始位置所需的时间。这样,传输一个由多个块组成的文件的时间取决于磁盘传输速率。

3 HDFS中数据副本的存放策略是什么?

①选择一个本地节点。最优先考虑把正在写入的数据的一个副本保存在这个客户端的数据节点上。

②选择一个本地机架节点如果参考点为空,则从整个集群中随机选择一个合适的数据节点作为此时的本地机架节点;否则就从参考节点所在的机架中随机选择一个合适的数据节点作为此时的本地机架节点,若这个集群中没有合适的数据节点的话,则从已选择的数据节点中找出一个作为新的参考点,如果找到了一个新的参考点,则从这个新的参考点在的机架中随机选择一个合适的数据节点作为此时的本地机架节点;否则从整个集群中随机选择一个合适的数据节点作为此时的本地机架节点。如果新的参考点所在的机架中仍然没有合适的数据节点,则只能从整个集群中随机选择一个合适的数据节点作为此时的本地机架节点

③选择一个远程机架节点。选择一个远程机架节点就是随机的选择一个合适的不在参考点坐在的机架中的数据节点,如果没有找到这个合适的数据节点的话,就只能从参考点所在的机架中选择一个合适的数据节点作为此时的远程机架节点了。

④随机选择若干数据节点。选择若干个数据节点实际上指的是从某一个范围内随机的选择若干个节点。

⑤优化数据传输的路径。

4NameNode和DataNode的功能分别是什么?

Namenode特点:

     ①NameNode是用来管理文件系统命名空间的组件。

   ②一个HDFS集群只有一台NameNode。

   ③NameNode上存放了HDFS的元数据。

   ④元数据保存在NameNode的内存当中,以便快速查询。

DataNode特点:

①块的实际数据存放在DataNode上。

   ②每个块会在本地文件系统产生两个文件,一个是实际的数据文件,另一个是块的附加信息文件,其中包括数据的校验和,生成时间。

     ③DataNode通过心跳包(Heartbeat)与NameNode通讯。

     ④客户端读取/写入数据的时候直接与DataNode通信。



  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一些Hadoop面试及答案: 1. 什么是HadoopHadoop是一个开源的分布式计算框架,可以处理大规模数据集。它是由Apache基金会开发的,使用MapReduce编程模型和Hadoop分布式文件系统(HDFS)来存储和处理数据。 2. 什么是MapReduce? MapReduce是一种编程模型,用于在分布式环境中进行大规模数据处理。它将输入数据分成若干块,并在多个计算节点上进行并行处理。MapReduce将数据映射为键值对,并将Map函数应用于每个键值对。然后,将生成的中间结果传递给Reduce函数,生成最终输出。 3. Hadoop有哪些组件? Hadoop包括以下组件: - Hadoop分布式文件系统(HDFS):用于存储大规模数据集的分布式文件系统。 - MapReduce:用于在分布式环境中并行处理大规模数据集的编程模型。 - YARN(Yet Another Resource Negotiator):用于管理集群资源,调度任务和监控应用程序的框架。 - HBase:一个分布式的NoSQL数据库,可用于存储大规模结构化数据。 - Pig:一种高级的数据流编程语言,用于在Hadoop上进行数据分析。 - Hive:一种基于SQL的数据仓库工具,可用于在Hadoop上进行数据查询和分析。 - Spark:一种基于内存的分布式计算框架,用于在Hadoop上进行数据处理和分析。 4. Hadoop中什么是块? 在Hadoop中,块是数据的基本单位。HDFS将大文件分成多个块,并将这些块存储在不同的计算节点上。默认情况下,块大小为128 MB。 5. 什么是NameNode和DataNode? NameNode是Hadoop分布式文件系统(HDFS)的主节点,用于管理文件系统的元数据。它维护了文件系统的命名空间和文件与块之间的映射关系。DataNode是存储实际数据块的节点。 6. 什么是Hadoop调度器? Hadoop调度器用于管理集群资源,并将任务分配给不同的计算节点。它决定哪些任务应该在哪个节点上运行,并确保每个节点都得到足够的资源来完成任务。 7. 什么是Hadoop压缩?如何进行压缩? Hadoop压缩是指将数据压缩为更小的存储大小,以便在Hadoop中更有效地存储和传输数据。Hadoop支持多种压缩算法,例如Gzip,Snappy和LZO。可以使用Hadoop提供的压缩库或使用自定义压缩程序来压缩数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值