HDFS Erasure coding-纠删码介绍和原理

HDFS Erasure coding-纠删码介绍和原理

  • 三副本策略弊端
  • [Erasure Coding(EC)简介](#Erasure Coding(EC)简介)
    • [Reed- Solomon(RS)码](#Reed- Solomon(RS)码)
  • EC架构

三副本策略弊端

  • 为了提供容错能力,hdfs回根据replication factor(复制因子)在不同的datanode上复制文本块
  • 默认复制因子为3,(注意这里的3指的是1+2=3,不是额外3个),则原始块除外,还将有额外两个副本。每个副本使用100%的存储开销,因此导致200%的存储开销。这些副本也消耗其他资源,例如网络带宽
  • 在复制因子为N时,存在N-1个容错能力,但存储效率仅为1/N

Erasure Coding(EC)简介

  • 纠删码技术简称EC,是一种编码容错技术。最早用于通信行业,数据传输中的数据恢复。它通过对数据进行分块,然后计算出校验数据,是的各个部分的数据产生关联性。当一部分数据块丢失时,可以通过剩余的数据块和校验块计算出丢失的数据块
  • Hadoop3.0之后引入了纠删码技术,它可以提高50%以上的存储利用率,并且保证数据的可靠性

Reed- Solomon(RS)码

  • reed-solomon(rs)码是常用的一种纠删码,它有两个参数k和m,记为RS(k,m)
  • k个数据块组成一个向量被乘上一个生成矩阵(Generator Matrix)GT从而得到一个码字(codeword)向量,该向量由k个数据块(d0,d1...d3)和m个校验块(c0,c1)组成
  • 如果数据块丢失,可以用GT逆矩阵乘以码字向量来恢复出丢失的数据块。

EC架构

为了支持纠删码,HDFS体系结构进行了一些更改调整

  • namenode扩展
    • 条带化的HDFS文件在逻辑上由block group(块组)组成,每个块组包含一定数量的内部块。这允许在块组级别而不是块级别进行文件管理
  • 客户端扩展
    • 客户端的读写路径的到来增强,可以并行处理块组中的多个内部块
  • datanode扩展
    • datanode运行一个附加的ECWorker任务,以对失败纠删编码块进行后台恢复。namenode检测到是吧的EC块,然后namenode选择一个datanode进行恢复工作
  • 纠删码策略
    为了适应异构的工作负载,允许HDFS集群中的文件和目录具有不同的复制和纠删码策略。纠删码策略封装了如何对文件进行编码/解码。默认情况下启用RS-6-31024k策略,RS便是编码算法Reed-Solomon,6,3中表示数据块和奇偶校验块的数量,1024k表示条带化单元的大小
    目录上还支持默认的REPLICSTION方案。它只能在目录上设置,以强制目录采用3倍复制方案,而不是继承器族乡的纠缠吗策略。此策略可以是3x复制方案目录与纠错码目录交错。REPLICSTION始终处于穷状态
    此外也支持用户通过XML文件定义自己的EC策略,Hadoop conf目录中有一个名为uers_ec_policies.xml.template的示例EC策略XML文件,用户可以参考该文件
  • Inter ISA-L
    英特尔ISA-L代表英特尔智能存储加速库。isa-l是针对存储应用程序而优化的低级功能开源集合。它包括针对Intel AVX和AVX2指令优化的快速块Reed- Solomon类型擦除代码。HDFS纠删码可以利用ISA-L加速编码和加码计算
相关推荐
G皮T12 分钟前
【Elasticsearch】自定义评分检索
大数据·elasticsearch·搜索引擎·查询·检索·自定义评分·_score
搞笑的秀儿3 小时前
信息新技术
大数据·人工智能·物联网·云计算·区块链
SelectDB3 小时前
SelectDB 在 AWS Graviton ARM 架构下相比 x86 实现 36% 性价比提升
大数据·架构·aws
二二孚日4 小时前
自用华为ICT云赛道Big Data第五章知识点-Flume海量日志聚合
大数据·华为
二二孚日6 小时前
自用华为ICT云赛道Big Data第四章知识点-Flink流批一体分布式实时处理引擎
大数据·华为
xufwind7 小时前
spark standlone 集群离线安装
大数据·分布式·spark
AI数据皮皮侠8 小时前
中国区域10m空间分辨率楼高数据集(全国/分省/分市/免费数据)
大数据·人工智能·机器学习·分类·业界资讯
DeepSeek大模型官方教程9 小时前
NLP之文本纠错开源大模型:兼看语音大模型总结
大数据·人工智能·ai·自然语言处理·大模型·产品经理·大模型学习
大数据CLUB10 小时前
基于spark的奥运会奖牌变化数据分析
大数据·hadoop·数据分析·spark
Edingbrugh.南空10 小时前
Hadoop高可用集群搭建
大数据·hadoop·分布式