主页 > 新闻资讯 > 大数据学习:HDFS的容错机制

大数据学习:HDFS的容错机制

作者:张老师 浏览次数: 2021-04-30 16:40
HDFS作为Hadoop的分布式文件系统,对于大批量数据的存储,要做到高效快速且不出错,一旦出错也能快速纠正,这就不得不提到HDFS的容错机制。今天的大数据学习分享,我们就来具体讲讲HDFS的容错机制。

在Hadoop生态下,HDFS的容错机制大致可以分为两个部分:HDFS文件系统的容错和Hadoop自身的容错。

HDFS文件系统的容错

HDFS文件系统的容错可以通过NameNode高可用、SecondaryNameNode机制、数据块副本机制和心跳机制来实现。

注意:当以本地模式或者伪集群模式部署Hadoop时,会存在SeconddayNameNode;当以集群模式部署Hadoop时,如果配置了NameNode的HA机制,则不会存在SecondaryNameNode,此时会存在备NameNode。

HDFS的容错机制如图所示:

大数据学习:HDFS的容错机制

具体的流程如下:

(1)备NameNode实时备份主NameNode上的元数据信息,一旦主NameNode发生故障不可用,则备NameNode迅速接管主NameNode的工作。

(2)客户端向NameNode读取元数据信息。

(3)NameNode向客户端返回元数据信息。

(4)客户端向DataNode读取/写入数据,此时会分为读取数据和写入数据两种情况。

①读取数据:HDFS会检测文件块的完整性,确认文件块的检验和是否一致,如果不一致,则从其他的DataNode上获取相应的副本。

②写入数据:HDFS会检测文件块的完整性,同时记录新创建的文件的所有文件块的校验和。

(5)DataNode会定期向NameNode发送心跳信息,将自身节点的状态告知NameNode;NameNode会将DataNode需要执行的命令放入心跳信息的返回结果中,返回给DataNode执行。

当DataNode发生故障没有正常发送心跳信息时,NameNode会检测文件块的副本数是否小于系统设置值,如果小于设置值,则自动复制新的副本并分发到其他的DataNode上。

(6)集群中有数据关联的DataNode之间复制数据副本。

当集群中的DataNode发生故障而失效,或者在集群中添加新的DataNode时,可能会导致数据分布不均匀。当某个DataNode上的空闲空间资源大于系统设置的临界值时,HDFS就会从其他的DataNode上将数据迁移过来。相对地,如果某个DataNode上的资源出现超负荷运载,HDFS就会根据一定的规则寻找有空闲资源的DataNode,将数据迁移过去。

还有一种从侧面说明HDFS支持容错的机制,即当从HDFS中删除数据时,数据并不是马上就会从HDFS中被删除,而是会将这些数据放到“回收站”目录中,随时可以恢复,直到超过了一定的时间才会真正删除这些数据。

Hadoop自身的容错

Hadoop自身的容错理解起来比较简单,当升级Hadoop系统时,如果出现Hadoop版本不兼容的问题,可以通过回滚Hadoop版本的方式来实现自身的容错。

关于大数据学习,HDFS的容错机制,以上就为大家做了基本的介绍了。HDFS的容错,是最基本也是最核心的容错方案,在实际应用场景下,基本上也是依赖于文件系统的容错去解决具体遇到的问题。成都加米谷大数据,专业大数据培训,大数据开发,数据分析与挖掘,零基础班本月正在招生中,课程大纲及学习资料,可联系客服获取!
热点排行
推荐文章
立即申请>>