HDFS中的EC

HDFS中的EC

Hadoop 3.0中的HDFS擦除编码(EC)是我们在早期版本的Hadoop中遇到的问题的解决方案,这只是它的3倍复制因素,这是保护我们的数据的最简单方法,即使在Datanode失败但需要额外的存储太多了。现在,在EC存储开销中神奇地减少到50%,这是因为HDFS默认的3x复制因子而提前200%,这似乎是额外的工作/负载来存储除了原始数据块之外的两个额外块,具有相同的资源量原始数据块。

因此,在Hadoop 3.0中,使用擦除编码(EC)代替复制,这提供了更低级别的容错能力,并且存储空间更少。在典型的擦除编码(EC)设置中,存储开销不超过50%。

为了详细了解Erasure Coding,首先我想介绍两个术语: -

  1. 耐用性: - 可以容忍多少同时发生的故障?
  2. 存储效率: - 存储的多少部分用于数据?

早期复制因子为3。

HDFS擦除编码

**数据持久性为2,**因为我们可以处理2个同时发生的故障。

存储效率为33%(有效块/总块数,即33%)。

除此之外,在存储中制作两个额外的数据副本会导致200%的开销。

今天的HDFS擦除编码

它有两种算法: -

1)XOR算法(简单EC 算法

它是HDFS Erasure编码的最简单实现。假设X和Y是数据单元,则奇偶校验单元是这两个数据单元的XOR。

HDFS擦除编码

在这里,数据耐久性为1,好像可以处理1个同时发生的故障和存储效率为75%(因为我们只使用了1个额外的块,即3/4)。

x⊕y是XOR,通过该XOR仅生成一个奇偶校验位,并且如果任何位丢失,则可以通过剩余的数据单元和奇偶校验位来恢复。它非常有限,因为它产生1个奇偶校验位,因此XOR操作只能容忍n组大小的1个故障,但我们通过使用XOR算法可以获得更好的存储效率。

2)Reed-Solomon 算法(改进的EC Algo):

通过改进的EC算法或通常称为Reed-Solomon算法来解决XOR运算的限制。Reed-Solomon使用线性代数运算来生成多个奇偶校验单元,而不是一次只获得一个容错,我们可以容忍每组多个故障。它通过将生成矩阵(G T) 与’d 数据单元相乘来生成具有d个数据单元和p个奇偶校验单元的码字。在Reed中,Solomon容错高达’p’即(奇偶校验单元的数量)单元,存储效率为d / d + p,其中’d’是数据单元,'p’是奇偶单元。
在这里插入图片描述

在这个特定的例子中,当您查看代码字时,实际数据单元是6(蓝色单元格)和3(红色单元格)是奇偶校验单元,它们通过将我们的数据单元乘以生成矩阵简单地获得。

只要’k + m’个单元中的’k’可用,就可以通过生成矩阵与扩展码字的乘法逆来恢复存储故障。

因此,这里**Data Durability是3,**因为它可以处理2个同时发生的故障,存储效率是67%(因为我们只使用1个额外的块,即6/9)并且我们只需要存储与原始数量相比的半数个单元。我们可以得出结论,我们也只有50%的开销。

Hadoop中HDFS擦除编码的优点

  • **保存存储 -**最初,当块不再被任何其他数据更改时,块会重复三次,之后,后台任务会将其编码为代码字并删除其副本。
  • **双向恢复 -**不仅在读取路径时发现并恢复HDFS块错误,而且我们可以在后台主动检查它。
  • **低开销 -**在RS编码算法中,开销从200%减少到仅50%。

结论

将EC(Reed-Solomon Algo)与HDFS集成可以提高存储效率,同时仍然提供与传统的基于复制的HDFS部署类似的数据持久性。例如,具有6个块的3x复制文件将消耗6 * 3 = 18个磁盘空间块。但是使用EC(6数据,3奇偶校验)部署,它将只消耗9块磁盘空间。

HDFS EC设计文档指的是对Hadoop分布式文件系统(HDFS中的错误纠正(EC)功能进行设计的文档。EC功能的目的是在大规模数据存储环境中提高数据的可靠性和容错性。 在设计这个文档时,需要考虑的几个重要因素包括: 1. 容错性:HDFS EC功能可以通过在文件块之间进行冗余和编码来提高数据的容错能力。通过采用错误纠正编码算法,可以将原始的数据块转换为一系列编码数据块,并使得其中一部分编码数据块即可用于还原原始数据块。因此,文档需要定义EC算法的选择与实施方式,以确保数据的完整性和可靠性。 2. 存储效率:EC功能可以通过减少冗余度来提高存储效率。文档需要详细描述如何对数据进行编码和解码,以减少存储开销和带宽消耗。例如,可以使用Reed-Solomon编码或Erasure Code来实现这一功能。 3. 性能考虑:EC功能对系统性能有一定的影响。在设计文档时,需要评估EC功能对数据读写操作的性能影响,并根据用户需求和应用场景来选择合适的EC算法。例如,可以根据文件的重要性和可靠性需求,选择相应的恢复速度和存储开销的折中方案。 4. 配置和管理:文档需要讨论如何配置和管理EC功能。包括如何设置EC编解码策略、调整EC参数以及监控EC模块的运行状态等。这将有助于管理员和开发人员更好地理解和利用HDFS EC功能。 综上所述,HDFS EC设计文档需要详细描述对HDFS分布式文件系统中的EC功能的设计和实现方式。文档应该覆盖到容错性、存储效率、性能以及配置和管理等多个方面,以帮助用户和管理员更好地理解和应用这一功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值