HDFS
大数据面试指南
微信公众号:大数据面试宝典
修改简历,面试辅导,回复666领取面试宝典资料
展开
-
HDFS压缩方式
文件压缩主要有两个好处,一是减少了存储文件所占空间,另一个就是为数据传输提速。在hadoop大数据的背景下,这两点尤为重要,那么我现在就先来了解下hadoop中的文件压缩。1 gzip压缩优点:压缩率比较高,而且压缩/解压速度也比较快;hadoop本身支持,在应用中处理gzip格式的文件就和直接处理文本一样;有hadoop native库;大部分linux系统都自带gzip命令,使用方便。缺点:不支持split。应用场景:当每个文件压缩之后在130M以内的(1个块大小内),都可以考虑用gzip压缩格原创 2021-03-03 14:41:55 · 750 阅读 · 2 评论 -
HDFS集群优化
操作系统级别优化1.优化文件系统(推荐使用EXT4和XFS文件系统,相比较而言,更推荐后者,因为XFS已经帮我们做了大量的优化。)2.预读缓冲 预读技术可以有效的减少磁盘寻道次数和应用的I/O等待时间,增加Linux文件系统预读缓冲区的大小(默认为256 sectors,128KB),可以明显提高顺序文件的读性能,建议调整到1024或2048 sectors。预读缓冲区的设置可以通过blockdev命令来完成。3.放弃RAID和LVM磁盘管理方式,选用JBOD复制代码不使用RAID 应避原创 2021-03-02 21:16:01 · 366 阅读 · 0 评论 -
大数据面试之HDFS小文件问题及解决方案
小文件是指文件size小于HDFS上block大小的文件。这样的文件会给hadoop的扩展性和性能带来严重问题。首先,在HDFS中,任何block,文件或者目录在内存中均以对象的形式存储,每个对象约占150byte,如果有1000 0000个小文件,每个文件占用一个block,则namenode大约需要2G空间。如果存储1亿个文件,则namenode需要20G空间。这样namenode内存容量严重制约了集群的扩展。 其次,访问大量小文件速度远远小于访问几个大文件。HDFS最初是为流式访问大文件开发的,如原创 2021-03-01 22:40:09 · 368 阅读 · 0 评论 -
HDFS的安全模式
什么时候进入安全模式?有两种方式人为进入集群二次启动安全模式有什么特点?安全模式中只能读取数据,不能修改数据(增、删、改)在安全模式下集群在做什么?在安全模式下集群在进行恢复元数据,即在合并fsimage和edits log,并且接受datanode的心跳信息,恢复block的位置信息,将集群恢复到上次关机前的状态如何进入/退出安全模式?进入:hdfs dfsadmin -safemode enter退出:hdfs dfsadmin -safemode leave.原创 2021-03-01 21:37:46 · 111 阅读 · 0 评论 -
大数据面试之HDFS的fsimage和edit logs文件分别指的是什么?
.fsimage:HDFS文件系统元数据的镜像文件,其中包含HDFS文件系统的所有目录和文件inode及相关属性的序列化信息。edits:用户操作的编辑日志文件,存放HDFS文件系统的所有更新操作的动作,文件所有写操作会被记录到Edits文件中。在namenode运行期间, 客户端对hdfs的写操作都保存到edit文件中, 久而久之就会造成edit文件变得很大, 如果namenode重启, 它会将fsimage中的内容映射到内存中, 然后再一条一条执行edit文件中的操作, 所以日志文件原创 2021-03-01 17:09:13 · 275 阅读 · 0 评论 -
HDFS故障类型和其检测方法
常见的故障三种 节点故障,通讯故障,数据损坏。节点故障主要关注DateNode的检查方法DateNode每三秒会向NameNode发送自己的心跳信息如果十分钟内NameNode没有收到心跳信息,就判定DataNode死亡通讯故障每当发送数据,接受者会回复一个应答信号如果没有收到应答信号(多次尝试),发送者就会认为主机已经挂掉,或发生网络错误数据损坏校验和-数据当向硬盘存储数据时,也会存储校验和...原创 2021-02-28 22:37:02 · 792 阅读 · 0 评论 -
大数据面试之HDFS高可用原理
HDFS高可用原理:HDFS HA(High Available)同时配置两个Namenode,状态分别是Active和Standby。Standby Namenode作为热备份,在机器发生故障时能够快速进行故障转移,同时在日常维护的时候进行Namenode切换。Namenode只能配置一主一备,不能多于两个Namenode。主Namenode处理所有的操作请求(读写),而Standby只是作为slave,用来同步主Namenode的状态,保证发生故障时能够快速切换。为了使Standby Namen.原创 2021-02-28 21:29:34 · 116 阅读 · 0 评论 -
架构的稳定性
1. 心跳机制和重新复制每个 DataNode 定期向 NameNode 发送心跳消息。如果超过指定时间没有收到心跳消息,则将 DataNode 标记为死亡。NameNode 不会将任何新的 IO 请求转发给标记为死亡的 DataNode,也不会再使用这些 DataNode 上的数据。由于数据不再可用,可能会导致某些块的副本个数小于其默认值,NameNode 会跟踪这些块,并在必要的时候进行重新复制.2. 数据的完整性由于存储设备故障等原因,存储在 DataNode 上的数据块也会发生损坏。为了原创 2021-02-28 00:01:10 · 199 阅读 · 1 评论 -
大数据面试之HDFS的读写流程
1. 读流程客户端首先带着读取路径向NameNode发送读取请求NameNode接收到请求后,会先判断是否有权限,读取文件是否存在等等,如果都无误则将 文件所在的DataNode的节点位置,发送给客户端部分或者全部的DataNode的节点位置客户端得到文件块存储的位置后,会调用read()方法,去读取数据在读取之前会先进行一个checksum的操作,去判断一下校验和是否正确,正确则读,不正确 则去下一个存放该block块的DataNode节点上读取读取完NameNode这次发送过来原创 2021-02-27 23:41:56 · 102 阅读 · 0 评论 -
大数据面试之HDFS副本机制
HDFS视硬件错误为常态,硬件服务器随时有可能发生故障。 为了容错,文件的所有 block 都会有副本。每个文件的 block 大小和副本系数都是可配置的。应用程序可以指定某个文件的副本数目。副本系数可以在文件创建的时候指定,也可以在之后改变。 数据副本默认保存三个副本,我们可以更改副本数以提高数据的安全性 在hdfs-site.xml当中修改dfs.replication配置属性,即可更改文件的副本数低版本Hadoop副本节点选择原创 2021-02-27 21:34:00 · 338 阅读 · 0 评论 -
HDFS数据块的认知
数据块 hdfs将所有的文件全部抽象成为block块来进行存储,不管文件大小,全部一视同仁都是以block块的统一大小和形式进行存储,方便我们的分布式文件系统对文件的管理基本概念所有的文件都是以block块的方式存放在HDFS文件系统当中,在Hadoop1当中,文件的block块默认大小是64M,Hadoop2当中,文件的block块大小默认是128M,block块的大小可以通过hdfs-site.xml当中的配置文件(dfs.block.size)进行指定。一个文件100M,上传.原创 2021-02-26 20:41:43 · 113 阅读 · 0 评论 -
HDFS的特点
高容错保存多个副本,且提供容错机制。 副本丢失或宕机自动恢复,默认存3份。系统故障是不可避免的,如何做到故障之后的数据恢复和容错处理是至关重要的。HDFS通过多方面保证数据的可靠性,多份复制并且分布到物理位置的不同服务器上,数据校验功能、后台的连续自检数据一致性功能都为高容错提供了可能。故障类型节点失败(DN服务挂了)节点没坏,网络坏了数据块损坏(不稳定的网络传输、磁盘损坏)故障检测机制节点失败检测机制数据错误检测机制读写容错机制读:CheckSum 校验和.原创 2021-02-25 22:58:58 · 418 阅读 · 0 评论 -
HDFS架构和组成
HDFS架构和组成Hdfs 采用Master/Slave的架构来存储数据,这种架构主要由四个部分组成NameNode, DataNode,client,和SencondayNameNode组成NameNode(Master):管理 HDFS 的命名空间,维护元数据。接收客户端的请求。管理数据块(Block)映射信息.配置副本策略DataNode(Slave):存储实际的数据块 。执行数据块的读/写操作。向namenode上传心跳信息。Client(客户端):1、文件上传 HDFS原创 2021-02-24 23:00:18 · 1358 阅读 · 0 评论 -
简单的介绍一下HDFS(HDFS是什么?)
1. 简单的介绍一下HDFS(HDFS是什么?)HDFS (Hadoop Distributed File System)是 Hadoop 下的分布式文件系统,具有高容错、高吞吐量等特性,可以部署在低成本的硬件上。是 Hadoop 核心组件之一,作为最底层的分布式存储服务而存在。分布式文件系统解决的问题就是大数据存储。它们是横跨在多台计算机上的存储系统。HDFS使用Master和Slave结构对集群进行管理。一般一个 HDFS 集群只有一个 Namenode 和一定数目的Datanode原创 2021-02-24 17:06:44 · 354 阅读 · 0 评论