持续分享有用、有价值、精选的优质大数据面试题

致力于打造全网最全的大数据面试专题题库

81、hdfs数据块的默认大小是多少?过大过小有什么优缺点?

参考答案:

1、数据块默认大小

Hadoop2.0之前,默认数据块大小为64MB。

Hadoop2.0之后,默认数据块大小为128MB  。

2、优缺点

1)数据块太小:

(1)会导致寻址时间相对比较长,如果读取数据块数据的时间小于寻址时间,这样是很不划算的,所以数据块要尽可能大一点。

(2)数据块的大量元数据会占用namenode内存,影响namenode管理的集群规模。

2)数据块太大:

为了保证数据的本地性,通常一个块的 数据是交给一个map任务来处理,如果数据块太大,就导致map任务处理的数据量就会很多,时间就会很长,不能很好地实现并行处理。

82、简述hadoop的副本策略?副本过多过少有什么优缺点?

参考答案:

1、默认的副本策略:BlockPlacementPolicyDefault。

1)1st replica. 如果写请求方所在机器是其中一个datanode,则直接存放在本地,否则随机在集群中选择一个datanode。

2)2nd replica. 第二个副本存放于不同第一个副本的所在的机架。

3)3rd replica.第三个副本存放于第二个副本所在的机架,但是属于不同的节点。

4)剩下其它的副本随机选择存储的位置。

2、副本过多导致存储空间的浪费,增加节点之间数据传输对时间和资源的消耗,副本过少容易导致数据丢失,起不到数据安全可靠的作用。

83、DataNode副本存储策略?如果Hadoop在保存副本的时候,比如,第二个副本存完毕,向第三个副本存入数据时DataNode挂了,会出现什么情况?

参考答案:

1、默认的副本策略:BlockPlacementPolicyDefault。

1)1st replica. 如果写请求方所在机器是其中一个datanode,则直接存放在本地,否则随机在集群中选择一个datanode。

2)2nd replica. 第二个副本存放于不同第一个副本的所在的机架。

3)3rd replica.第三个副本存放于第二个副本所在的机架,但是属于不同的节点。

4)剩下其它的副本随机选择存储的位置。

2、数据复制过程中出现问题怎么解决?

1)这个问题其实也是写数据过程,当数据写入DataNode的过程中,当其中一个DataNode挂掉了,会将这个DataNode移除流水线,然后将数据写入到剩余的datanode。

2)在写入结束后, namenode会收集datanode的信息,发现此文件的数据块的replication没有达到配置的要求(default=3),然后再选择一个datanode保存副本。

84、客户端向HDFS写入数据过程?

参考答案:

写数据流程:

1)首先客户端对文件进行切分,切分成数据块,每个数据块默认存储到3个节点上。

2)在写入数据之前,客户端首先会告诉NameNode要写一个文件,此时NameNode会增加一个文件,记录这个文件的详细信息,把这个文件放入目录树里面。

3)然后开始写数据,因为客户端把文件划分成了很多块,在写第一个数据块时,NameNode先要返回3个DataNode位置,这样第一个数据块会以一个一个数据包的方式(packet)写入第一个DataNode,同时数据包也同时会向第二,第三个节点写,形成数据写的流水线,每个DataNode写完数据包之后,会返回确认。当第一个数据块写完之后,以同样的方式写下一个数据块。

4)当所有数据块写完之后,它调用close关闭写入流,它会通知NameNode 文件写完了,这时就会关闭socket,结束数据的写过程。

85、客户端从HDFS读数据过程?

参考答案:

读数据流程:

1)客户端首先发送一个open请求到NameNode,获取这个文件所包含数据块,以及每个数据块的存储位置。

2)这些数据块信息返回给客户端之后,它依次按照这个数据块的顺序,读取每一个数据块。

3)第一个数据块在这个节点上面读,第二个数据块在这个节点读,读完之后,按照文件实际数据块的先后位置,显示给用户,整个文件读完之后,就会调用close,关闭输出流就ok了。

86、datanode什么情况下不会备份?

参考答案:

设置备份数为1时, 就不会备份了。

 延申:Hadoop中在哪里设置备份数, 是哪个字段?

在hdfs-site.xml中的dfs.replication变量。

87、HDFS中大量小文件带来的问题以及解决方法

参考答案:

问题:

hadoop中目录,文件和块都会以对象的形式保存在namenode的内存中, 大概每个对象会占用150bytes. 小文件数量多会大量占用namenode的内存; 使namenode读取元数据速度变慢, 启动时间延长; 还因为占用内存过大, 导致gc时间增加等。

解决办法:

两个角度, 一是从根源解决小文件的产生, 二是解决不了就选择合并。

从数据来源入手, 如每小时抽取一次改为每天抽取一次等方法来积累数据量。

如果小文件无可避免, 一般就采用合并的方式解决. 可以写一个MR任务读取某个目录下的所有小文件, 并重写为一个大文件。

88、fsimage和editlogs是做什么用的?

参考答案:

命名空间镜像(FSlmage):HDFS的目录树及文件/目录元信息是保存在内存中的,如果节点停电或进程崩溃,数据将不再存在,必须将上述信息保存到磁盘,Fslmage就是保存某一个时刻元数据的信息的磁盘文件。

镜像编辑日志(EditLog):对内存目录树的修改,也必须同步到磁盘元数据上,但每次修改都将内存元数据导出到磁盘,显然是不现实的,为此,namenode引入了镜像编辑日志,将每次的改动都保存在日志中,如果namenode机器宕机或者namenode进程挂掉后可以使用FSlmage和EditLog联合恢复内存元数据。

89、Linux中的块大小为4KB, 为什么HDFS中块大小为64MB或128MB?

参考答案:

(1)块是存储在文件系统中的数据的最小单元. 如果采用4kb的块大小来存放存储在Hadoop中的数据, 就会需要大量的块, 大大增加了寻找块的时间, 降低了读写效率。

(2)一个map或者一个reduce都是以一个块为单位处理, 如果块很小, mapreduce任务数就会很多, 任务之间的切换开销变大, 效率降低。

90、并发写入HDFS文件可行吗?

参考答案:

不行。因为客户端通过namenode接收到在数据块上写入的许可后, 那个块会锁定直到写入操作完成, 所以不能在同一个块上写入。

持续分享有用、有价值、精选的优质大数据面试题

致力于打造全网最全的大数据面试专题题库

【300+精选大厂面试题持续分享】大数据运维尖刀面试题专栏(九)相关推荐

  1. 【300+精选大厂面试题持续分享】大数据运维尖刀面试题专栏(四)

    持续分享有用.有价值.精选的优质大数据面试题 致力于打造全网最全的大数据面试专题题库 31.如果发现现有集群出现数据倾斜,生产环境中 HBase 出现数据倾斜了该如何解决呢?出现数据倾斜的原因到底是什 ...

  2. 【300+精选大厂面试题持续分享】大数据运维尖刀面试题专栏(十)

    持续分享有用.有价值.精选的优质大数据面试题 致力于打造全网最全的大数据面试专题题库 91.首次启动 HDFS 时,必须对其进行格式化操作的命令? 参考答案: bin/hdfs namenode -f ...

  3. 【300+精选大厂面试题持续分享】大数据运维尖刀面试题专栏(八)

    持续分享有用.有价值.精选的优质大数据面试题 致力于打造全网最全的大数据面试专题题库 71.Zookeeper的典型应用场景有哪些? 参考答案: Zookeeper是一个典型的发布/订阅模式的分布式数 ...

  4. 【300+精选大厂面试题持续分享】大数据运维尖刀面试题专栏(二)

    持续分享有用.有价值.精选的优质大数据面试题 致力于打造全网最全的大数据面试专题题库 11.CDH 集群扩容 10 台机器后,新加入的 Datanode 角色数据相对较少,如何处理 HDFS 的数据分 ...

  5. 【300+精选大厂面试题持续分享】大数据运维尖刀面试题专栏(十五)

    持续分享有用.有价值.精选的优质大数据面试题 致力于打造全网最全的大数据面试专题题库 136.以你的实际经验,说下怎样预防全表扫描? 参考答案: 1)应尽量避免在where 子句中对字段进行null ...

  6. 【300+精选大厂面试题持续分享】大数据运维尖刀面试题专栏(十四)

    持续分享有用.有价值.精选的优质大数据面试题 致力于打造全网最全的大数据面试专题题库 131.hive性能调优的常见方法? 参考答案: (1)HQL层面优化 1)利用分区表优化 2)利用桶表优化 3) ...

  7. 【300+精选大厂面试题持续分享】大数据运维尖刀面试题专栏(十三)

    持续分享有用.有价值.精选的优质大数据面试题 致力于打造全网最全的大数据面试专题题库 116.怎么解决MapReduce的数据倾斜? 参考答案: 现象:Mapreduce程序在运行的时候,运行了大部分 ...

  8. 大数据运维方向面试题

       一.基础题 1.请写出http和https请求的区别,并写出遇到过的响应状态码.   一.https协议需要到ca申请证书,一般免费证书很少,需要交费. 二.http是超文本传输协议,信息是明文 ...

  9. 大讲台大数据运维尖刀班4期

    硬件优化 在上线一个业务系统之前,首先需要进行硬件采购.硬件采购的标准是业务系统的运行特点和对资源的占用情况. 举例一:如果要上线一套 Redis 集群 Redis 是内存数据库,特点是占用内存会非常 ...

最新文章

  1. Android 9.0 系统弹框
  2. 北大韦神透露现状:自己课讲得不太好,中期学生退课后就剩下5、6个人
  3. libjvm.so: cannot restore segment prot after reloc: Permission denied权限不够问题
  4. 前端学习(342):进制只能介于2-36之间Uncaught RangeError: toString() radix argumen
  5. linux2019内核版本发布,求问Linux最新内核版本以及发布日期。
  6. 浏览——用户自定义路径
  7. python画相关系数矩阵图_pyhton中matplotlib箱线图的绘制(matplotlib双轴图、箱线图、散点图以及相关系数矩阵图))...
  8. scala中的if esle使用
  9. 有关ADRV9009的博客资料
  10. Linux挂载Linux网络共享文件夹
  11. 搜狐财报:铠甲不硬,需要新杀手锏
  12. 微信小程序(沧海一笑)
  13. Lenovo联想G460无电池ThinkPad强制刷新BIOS的方法,非电池补丁
  14. Guava学习笔记-Splitter
  15. 通过ESP8266手机或电脑浏览器网页能控制远程任意组任意路继电器开关并收发单片机指令 测试OK
  16. C# FileInfo类:文件操作
  17. 解析拼手气红包金额划分算法
  18. FTP主动连接、被动连接、连接端口的分配与使用、误区总结
  19. rgb三色直方图的绘制
  20. 最新远古VOD点播影视系统模板入侵

热门文章

  1. w ndows7启动项怎么关,(让Wndows7让系统“飞”起来二级精华.doc
  2. 引流是什么? 怎样学习引流?
  3. (图)Eee PC 904 HD闪亮登场!
  4. 惊呆了!Java程序员最常犯的错竟然是这10个
  5. 关于深度学习目标检测的一些改进方法
  6. python不支持的函数string_Python字符串string常用方法和函数
  7. Flex移动皮肤-第一部分:增强的皮肤功能基础
  8. Verilog专题(二十五)Lemmings4
  9. Intel中国建厂:中国自主处理器边缘化
  10. FLOPS、TOPS和FLOPs的区别