大工软件Hadoop必考复习题

大工Hadoop考试题库

0.单选15题(30分)、填空10题(10分)、判断10题(10分)、简答(25分)、编程(25分)

1. Hadoop 常见的发型版本有哪些?

在这里插入图片描述

2. Hadoop、Spark、Hive、Hbase、Sqoop 这些技术分别是用来做什么的?

技术功能
Hadoop分布式离线计算框架
Spark分布式内存计算框架
HiveHiveQL数据仓库系统
HBase分布式实时存储数据库
sqoop数据库间ETL工具

3. HDFS 元数据是如何存储的?存放在哪里?里面会存放什么内容?在配置集群时是如何通过参数进行配置的?

元数据分为 fsimage edits. 存放在NameNode中。
元数据又称之为解释性数据,记录数据的数据文件系统。元数据一般指文件大小、最后修改时间、底层存储位置、属性、所属用户、权限等信息。在 hdfs-site.xml下的dfs.namenode.name.dir的value值进行参数配置

image-20211204142558449

image-20211204142643058

4. HDFS 安全模式有什么特点?

由于不同节点启动顺序不一样,因此刚启动时会进入安全模式,只读不能写

5. HDFS 的设计目标是什么?

在这里插入图片描述

6. HDFS、Yarn 和 JobHistory 服务的端口分别是多少?如何启动和停止?

//HDFS服务
 start-dfs.sh
 stop-dfs.sh
//YARN服务
 start-yarn.sh
 stop-yarn.sh
//同时启动/关闭HDFS和TARN服务
 start-all.sh
 stop-all.sh
//JobHistory服务(只在namenode节点执行此命令)
 mapred --daemon start historyserver	
 mapred --daemon stop historyserver
服务名称端口
通过浏览器查看HDFS9870
通过浏览器查看Yarn8088
通过浏览器查看历史作业 History server19888

7. HDFS 和 Yarn 架构中 Master 和 Slaver 节点上的进程名称是什么?

在这里插入图片描述

HDFSYARN
masterNameNodeResourceManager
slaverDataNodeNodeManager

8. HDFS 副本数是否可以修改?如何修改?

配置集群时可以修改dfs.replication

在这里插入图片描述

以及setrep命令:

9. HDFS 数据块抽象的优点是什么?

在这里插入图片描述

10. HDFS三副本放置策略?

三副本放置策略(BlockPlacementPolicyDefault)
写请求方所在机器是其中一个Datanode,则第一份副本直接存放在本地,否则随机在集群中选择一个Datanode,第二个副本存放于不同第一个副本的所在的机架,第三个副本存放于第二个副本所在的机架,但是属于不同的节点。
其余的副本在遵循以下限制的前提下随机放置,一个节点最多放置一个副本,如果副本数少于两倍机架数,同一机架不能放置超过两个副本。

在这里插入图片描述

11. Namenode 的作用是什么?

  1. 管理文件系统的命名空间,维护文件系统的文件目录树
  2. 记录文件/目录的元信息和每个文件对应的数据块列表
  3. 接收用户的操作请求

12. HDFS blocksize 和 map任务的数量有什么关系?reduce任务的数量是如何确定的?

HDFS block size 默认128M,splitsize一般等于block size,split有1.1倍原则,block没有。而maptask数目等于split数目。
reduce任务数量取决于map中partition数量。

13. HDFS API 读写HDFS文件时如何创建输入输出数据流对象?

image-20211204144333460

14. Hadoop支持的数据压缩算法有哪几种?

image-20211203175915500

15. 如何自定义序列化类?需要继承什么接口?实现什么方法?

**对象不能直接在网络中传输或者存放到磁盘中,所以需要进行序列化操作。**Java序列化包含信息太多不方便,所以需要Hadoop序列化。 Hadoop采用的运算模型是将任务分散在不同节点上进行初步处理;然后将分节点上已经计算完毕的任务汇总进行合并操作。在集群节点间通信时需要频繁的序列化和反序列化,因此要求序列化速度要快、体积要小、占用网络带宽要小,使数据适合远程传输并保证传输后数据的质量。

  • 如果不需要排序,那么只用继承Writable接口。同时实现这两个方法(write和readFields)。write叫做序列化方法,用于把对象指定的字段写出去;readFields叫做反序列化方法。
  • 如果从字节流中读取字段重构对象如果需要排序,那么需要继承WritableComparable,同时实现compareTo

16. Shuffle过程包括哪四个过程?作用都是什么?它们执行的顺序是什么?(简答)

  1. Collect/Copy阶段
  2. Spill阶段
  3. Sort阶段
  4. Merge阶段

将Maptask结果写入缓冲区(Collect阶段),达到环形缓冲区阈值后,会溢写到磁盘里(Spill阶段),如果有分区则按照分区依次写入同时在不同分区里进行排序(Sort阶段)【快排】,写入磁盘后,最后对所有溢出的临时文件进行合并成一个数据文件(Merge阶段)同时也进行排序(Sort阶段)【归并】,由Reducer来拉取不同Maptask输出的数据文件中属于自己分区的数据(Copy阶段),进行合并(Merge阶段)同时对合并的数据进行排序(Sort阶段),最后输入给Reduce。

17. Shuffle处理全过程如何自定义计数器?

image-20211204150410277

18. Hadoop序列化相对于 Java序列化的优点是什么?

  1. java的序列化机制比较臃肿,重量级,是不断的创建对象的机制,并且会额外附带很多信息(校验、继承关系系统等)。
  2. Hadoop的序列化机制中,用户可以复用对象,这样就减少了java对象的分配和回收,提高了应用效率。即序列化速度更快、体积更小、占用网络带宽更小。

19. SequenceFile 和 MapFile 类型的区别?

Mapfile多了index索引,其中的key是经过排序的,而SequenceFile的key是没有经过排序的。

20. TextInputFormat 和 KeyValueTextInputFormat 两种文件输入格式时如何处理key-value的?

TextInputFormat是以文件每一行行首在文件中的偏移量作为key,以一整行作为value

KeyValueTextInputFormat默认按制表符将一行分为两列,第一列为键第二列为值

21. PageRank算法中转移矩阵及其迭代计算

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

22. Yarn框架中ResourceManagere的功能是什么?

image-20211203181846236

简答题:TOP-N

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值