Hadoop3:HDFS-存储优化之纠删码

一、集群环境

集群一共5个节点,102/103/104/105/106

二、纠删码原理

1、简介

HDFS默认情况下,一个文件有3个副本,这样提高了数据的可靠性,但也带来了2倍的冗余开销。Hadoop3.x引入了纠删码,采用计算的方式,可以节省约50%左右的存储空间。

简单来说,通过计算方式,来还原丢失的数据。

损耗的是CPU性能,节省了磁盘空间。

2、纠删策略

bash 复制代码
[atguigu@hadoop102 ~]$ hdfs ec -listPolicies
Erasure Coding Policies:
ErasureCodingPolicy=[Name=RS-10-4-1024k, Schema=[ECSchema=[Codec=rs, numDataUnits=10, numParityUnits=4]], CellSize=1048576, Id=5], State=DISABLED
ErasureCodingPolicy=[Name=RS-3-2-1024k, Schema=[ECSchema=[Codec=rs, numDataUnits=3, numParityUnits=2]], CellSize=1048576, Id=2], State=DISABLED
ErasureCodingPolicy=[Name=RS-6-3-1024k, Schema=[ECSchema=[Codec=rs, numDataUnits=6, numParityUnits=3]], CellSize=1048576, Id=1], State=ENABLED
ErasureCodingPolicy=[Name=RS-LEGACY-6-3-1024k, Schema=[ECSchema=[Codec=rs-legacy, numDataUnits=6, numParityUnits=3]], CellSize=1048576, Id=3], State=DISABLED
ErasureCodingPolicy=[Name=XOR-2-1-1024k, Schema=[ECSchema=[Codec=xor, numDataUnits=2, numParityUnits=1]], CellSize=1048576, Id=4], State=DISABLED


RS-3-2-1024k

使用RS编码,每3个数据单元,生成2个校验单元,共5个单元,每个单元的大小是1024k=1m

只要有任意的3个单元存在,就可以还原数据。
RS-6-3-1024k

类似RS-3-2-1024k,6个数据单元,3个校验单元
RS-10-4-1024k

类似RS-3-2-1024k,10个数据单元,4个校验单元
RS-LEGACY-6-3-1024k

类似RS-3-2-1024k,只是编码的算法用的是rs-legacy
XOR-2-1-1024k

类似RS-3-2-1024k,使用XOR编码(速度比RS编码快)

纠删码策略是给具体一个路径设置。所有往此路径下存储的文件,都会执行此策略。
默认只开启对RS-6-3-1024k策略的支持,如要使用别的策略需要提前启用。

也就是,对某个路径下的文件使用纠删码方式确保数据的可靠性。

其他路径依然采用自己的方式保证可靠性。

三、案例

1、需求

将/input目录设置为RS-3-2-1024k策略

我们集群是5台虚拟机

所以,我们需要更改纠删码策略为RS-6-3-1024k。

因为默认的是RS-6-3-1024k策略,需要9台机器。

2、相关指令

bash 复制代码
启用RS-3-2-1024k策略
hdfs ec -enablePolicy  -policy RS-3-2-1024k

创建路径
hdfs dfs -mkdir /input

设置路径的纠删码策略为RS-3-2-1024k
hdfs ec -setPolicy -path /input -policy RS-3-2-1024k

3、测试

上传文件

1个副本,分别存放在5台机器上

查看数据

102,能查看文件内容,说明是数据单元

103,无法查看内容,说明是校验单元

104,无法查看内容,说明是校验单元

105,能查看文件内容,说明是数据单元

106,能查看文件内容,说明是数据单元

删除数据并验证是否可以下载

最多删除2台机器上的数据

我这里删除102/103

下载测试

可以看出,103机器,是没有数据的

如果,删除3台机器的数据,那么就会下载失败

这里就不做验证了。

其他路径上传文件

发现副本数依然是3份

相关推荐
幂律智能30 分钟前
海外业务不同,合同系统该怎么建?
大数据·人工智能
Leo.yuan41 分钟前
数据开发即质量检测:FineDataLink 5.0 在生产数据链路中的一体化实践
大数据
哲霖软件43 分钟前
非标机械设备公司怎么做信息化?破解通用ERP水土不服难题
大数据·运维
IT毕设梦工厂1 小时前
计算机毕业设计选题推荐:基于大数据的杭州亚运会社交媒体互动数据可视化分析|毕业设计选题|计算机毕设|选题推荐|毕设指导|项目定制|源码|高质量项目
大数据·hadoop·信息可视化·数据挖掘·数据分析·课程设计·数据分析数据可视化
Leo.yuan2 小时前
2026中国数据处理平台行业研究:实时、质量与一体化能力成为竞争重点
大数据
Leo.yuan2 小时前
企业可信Data Agent怎么建:可信分析智能体(Traceable Analytic Agent)的分析链路与验证机制
大数据·人工智能·机器学习
QY_Research_2 小时前
2026-2032年个人安全警报装置市场分析 CAGR4.7% 产业全景报告
大数据·人工智能·安全
AI行业说2 小时前
针织 T 恤、运动套装电脑模板机选型与落地指南
大数据·人工智能·机器人·自动化·智能模板机
码流子3 小时前
AI稽核精灵-Agent落地
大数据·人工智能·物联网·算法·系统架构
微三云 - 廖会灵 (私域系统开发)3 小时前
智慧社区 B 端深度剖析:消费返物业费 2.0,权益循环系统的业务、架构与避坑实践
大数据·架构