主页 > 新闻资讯 > 大数据培训:HDFS数据副本存放策略

大数据培训:HDFS数据副本存放策略

作者:张老师 浏览次数: 2020-12-01 16:53
大数据处理当中,数据储存始终是一个重要的环节,从现阶段的市场现状来说,以Hadoop为首的大数据技术框架,仍然占据主流地位,而Hadoop的HDFS,在数据存储方面,仍然得到重用。今天的大数据培训分享,我们就来讲讲HDFS数据副本存放策略。

HDFS 是 Hadoop 分布式文件系统,基于廉价的PC集群,就能支持大规模数据集的存储,并且可以通过增加机器来提升存储容量,对于企业而言,提供了低成本的灵活性选择。

大数据培训:HDFS数据副本存放策略

HDFS数据副本存放策略

通常来说,HDFS整体的副本冗余策略,是默认保存3个副本的策略。

大型 HDFS 实例通常分布运行在由许多机架组成的集群中,一个机房中有很多机架,一个机架上有多个服务器,不同机架的机器通信需要经过交换机,受带宽等因素的影响,需要更高的网络通信成本。

大数据培训:HDFS数据副本存放策略

在默认 3 个副本的情况下,HDFS采用如下的放置策略:

在机架 1 上放置第一个副本;

在另一个机架 2 上放置第二副本;

副本三与副本二放置在同一个机架上;

如果有更多的副本,则随机选择机架,每个机架的副本数量有个上限值,计算方式通常是:(replicas - 1) / racks + 2

这样放置的好处:

避免一个机架出故障,导致所有数据丢失;

同一个机架上的节点通信网络会比不同机架节点通信更好,副本二与副本三放置在同一个机架能够节省带宽;

从单个文件看来,考虑带宽似乎没有多大意义,但是对于大规模数据的情况下,请求并发量大时,网络是非常重要的一个因素,特别是对于写请求,这里要了解 HDFS 写的流程。

因为写副本的过程类似于流水线,先写副本一,但这里写完后就将写成功的结果返回给客户端了。之后由副本一将内容写到副本二,接着由副本二将内容写到副本三。

假设副本三和副本一放置在一个机架上,那么就会产生两次不同机架间的写操作。而目前的情况是副本二和副本三在同一个机架,机架间的写操作只会发生在副本一到副本二之间,副本二和副本三的写操作是在同一个机架,节省了网络流量。

大数据培训:HDFS数据副本存放策略

那么HDFS在读取时如何选择副本呢?

为了最大的减少带宽和延迟,HDFS 读取文件采用就近原则,如果与客户端在同一机架上的 DataNode 上存有副本,则直接读取该副本。如果 HDFS 是跨数据中心的,则优先选择同一数据中心的副本。

关于大数据培训,HDFS数据副本存放策略,以上就为大家做了简单的介绍了。HDFS的副本策略,很大程度上来说,保证了其存储的高可靠性,也为后续的数据处理环节,提供更加稳固的支持。成都加米谷大数据,专业大数据培训机构,大数据开发、数据分析与挖掘,零基础班本月正在招生中,课程大纲及试学视频可联系客服领取!
热点排行
推荐文章
立即申请>>