大数据开发面试题【HDFS篇】

15、介绍下HDFS,说下HDFS优缺点,以及使用场景?

HDFS(hadoop distributed file system)优点高容错:将文件分为多个块,可以在多个节点上进行复制存储,当节点发生故障时,可以自动恢复数据高吞吐:并行处理数据块,较高的读写速度,高效进行批处理操作适应大文件存储:将文件划分为多个小块,分布在各个节点上,适合大文件存储和处理缺点:高延迟数据访问不适合小文件存储:对小文件的存储不够高效,浪费存储空间和元数据开销使用场景:大规模数据存储和计算、日志分析

16、HDFS作用

存储大规模数据集、数据的冗余和备份、高吞吐的数据访问、故障监测和恢复

17、HDFS有哪些容错机制

数据冗余和备份:将一个文件划分为多个块存储到各个节点上并做副本备份,当某一个节点出问题的时候,其他节点数据依然可用心跳机制:DN会定时向NN发送心跳信号,确保依然在工作,如果NN在某一时间段内未接收到DN的信号,则标记该DN不可用副本恢复:当某一节点发生故障时候,HDFS会自动启用副本恢复机制,将该节点上的块副本复制到其他可用的数据节点上,保证数据的完整新容错检测和恢复:HDFS会定期监测节点和块的完整性,并自动修复损坏的块

18、HDFS的副本机制

冗余存储:会将每个块的副本存储在不同数据节点上,默认的将每个块的副本数设置为3数据本地性:副本机制会尽量将数据存储在离计算节点比较近的节点上,减少网络传输副本同步:某个节点故障或者新增节点,HDFS会自动将副本从其他节点复制到新的节点上,保持副本数量和位置平衡

19、HDFS的常见数据格式,列式存储格式和行存储格式异同点,列式存储优点有哪些?

HDFS中常见的数据格式:文本文件、序列文件、Avro文件、Parquet文件、ORC文件按行存储:数据按行进行存储,一行的所有值都连续存储按列存储:数据按列进行存储,同一列的数据连续存储列示存储优点:压缩率高:由于列示存储同一列的数据类型相同,可以采用更高效的算法进行压缩,减少存储空间查询性能优异:对于特定查询需求的列,只需要读取该列的数据,提高查询性能更好的数据压缩和解压缩效率:列式存储格式在读取时候只需要解压缩需要的列数据,效率更高

20、HDFS如何保证数据不丢失(HDFS如何保证数据一致性、保证数据安全)

数据副本机制:多个副本保存在不同节点上,可从副本中恢复心跳监测:DN周期性的向NN发送心跳信号,确保还在工作状态,若长时间没有心跳信号,则NN将该故障DN山上的数据副本复制到其他节点上数据完整性校验:客户端写入数据的时候,会计算数据块的校验和,将其存储在NN上,当读取数据的时候,使用检验和检验数据是否完整容错机制:在节点故障或者网络问题时候,数据能保持一致性和可用性

21、HDFS NN高可用如何实现?

HDFS高可用机制使用了一个Active-StandBy架构,当其中一个NN处于活动状态时候,另一个NN处于备用状态;需要Active NameNode、Standby NameNode、JournalNode、ZooKeeper;JournalNode用于存储NN的编辑日志,确保在NN切换时候的数据一致性。Zookeeper用于监控和管理活动和备用NN之间的切换;

22、HDFS的mapper和reducer的个数如何确定?reducer的个数依据是什么?

1、Mapper的个数由输入数据的分片数决定,hdfs将数据文件划分为多个块,每一个块由一个mapper进行处理2、在确定reducer个数时候,需要考虑集群中的硬件资源,一般来说reducer个数不超过集群中可用计算节点数3、对于计算密集型任务,可以增加reduer的个数提高计算速度,对于IO密集型的任务,增加mapper的个数加快数据处理速度reduce个数可以由程序员自行设定,也决定了输出文件的个数;设置的数量范围为:(0.95——1.75)* 节点数量*每个节点上最大的容器数

23、HDFS中向DN中写入数据失败怎么办?

24、HDFS中DN怎么存储数据的?

1、客户端向NN发起写请求,将需要写入的文件名、文件大小等信息告诉NN。2、NN将文件进行划分,记录数据块的副本位置信息并返回给客户端3、客户端根据副本位置信息,将数据块发送给对应的DN4、DN接收到数据块后,将数据块存储在本地磁盘上,5、DN写入数据的时候,先写入一个临时文件,一旦数据块写入完成,则转变为永久存储文件6、DN会定时向NN报告存储的数据块信息

补充:HDFS读文件过程

1、客户端访问NN,查询元数据信息,获得这个文件的数据块位置列表,返回输入流对象2、就近挑选一台DN服务器,请求建立输入流3、DN向输入流中写数据,以packet为单位来校验4、关闭输入流

补充:300m,切片大小是128m,切几片

第一片:0-128M,第二片:128-256M,第三片:256-300M每次切片的时候,都要判断切完剩下的部分是否大于块的1.1倍,大于时候,继续按照规定切块,小于1.1倍时候,将剩下的文件大小归到一个切片上去

【猜你想看】大数据面经 文章被收录于专栏

不定期分享大数据相关技术面经,本着免费原则,随意白嫖

全部评论

相关推荐

华勤结构待遇怎么样,一般需要加班到多晚啊()
Veijuhen:23年毕业,面试华勤,主管面挂了,因为我讲了不提倡无效加班。
华勤技术工作强度 41人发布 投递华勤技术等公司10个岗位 >
点赞 评论 收藏
分享
7 16 评论
分享
牛客网
牛客企业服务