三副本机制
1、什么是三副本
默认情况下,HDFS会使用三副本机制来保证数据可用性,第一个副本存放在本地机架节点上,另一个副本存放在同一机架的另一个节点上,第三个副本存放在在不同机架的节点上。三副本机制可以减少机架间的数据传输,提高写操作的效率,保证数据的可用性,因为机架错误的概率要小于节点出错的概率
2、三副本带来的问题
三副本会造成存储空间200%的额外开销,还会在其他资源上造成浪费,比如在写数据时会造成额外的带宽消耗。尤其对于冷数据,因为查询的频率很低,第二个和第三个副本很少被访问,却依然占用了同样大小的存储空间,在数据治理的过程中,我们需要着重关注这部分数据,能删掉的要及时下线,但对于一些必须保留却很少使用的冷数据(如某个已结束的促销活动),最好能有一种办法替代三副本,达到既能保证数据可用性,又能降低存储开销的效果。由此我们引入了 Erasure Coding(简称EC)技术。
Erasure Coding
1、什么是 Erasure Coding
纠删码技术(Erasure coding)简称 EC,是一种编码容错技术。EC 最早用于通信行业,用于数据传输中的数据恢复。它通过对数据进行分块,然后计算出校验数据,使得各个部分的数据产生关联性。当一部分数据块丢失时,可以通过剩余的数据块和校验块计算出丢失的数据块。
在 Hadoop 3.0 中,Cloudera 与 Intel 的工程师在 HDFS-7285 下启动了 EC 项目,引入了纠删码技术,它可以提高 50% 以上的存储利用率,并且保证数据的可靠性。
2、Erasure Coding 的原理
EC 的基本思想是将k块原始的数据元素通过一定的编码计算,得到 m 块校验元素。对于这 k+m 块元素,当其中任意的 m 块元素出错(包括数据和校验出错),均可以通过对应的重构算法恢复出原来的k块数据。生成校验的过程被成为编码(encoding)

本文介绍了Hadoop中的Erasure Coding(EC),作为替代三副本的存储策略,以提高存储效率并保证数据可靠性。EC通过XOR和RS码实现数据冗余,Hadoop 3.0引入EC支持,如RS-6-3-1024k策略,能容忍3个块丢失。EC的实现包括连续布局和条形布局,各有优缺点,适合大规模冷数据存储场景。
最低0.47元/天 解锁文章
1068

被折叠的 条评论
为什么被折叠?



