hadoop纠删码

耀灵1年前技术文章446

纠删码是CDH6/Hadop3引入的新功能,之前的HDFS都是副本方式容错,默认情况下,一个文件有三个副本,可以容忍任意2个副本(Datanode)不可用,是以牺牲空间的代价提供了数据的可用性,带来了2倍的冗余开销。例如1TB的数据,需要3TB的空间来进行存储。而纠删码可以在同等可用性的情况下,节省更多的空间。

以RS-6-3-1024k为例,6份原始数据,编码后生成3份校验数据,一共9份数据,只要最终有6份数据存在,就可以得到原始数据,它可以容忍任意3份数据不可用,而冗余的空间(3)只有原始空间(6)的0.5倍,只有副本方式(6*3-6=12)的1/4,因此,可以节约更多的空间成本。

对于RS-3-2-1024k来说,3份原始数据,编码后生成2分校验数据,一共5份数据,可以容忍任意2份数据不可用,冗余空间(2)只有原始空间67%,只有副本方式的(3*3-3=6)的1/3。可见RS-6-3-1024k比RS-3-2-1024k策略能节约更多空间。

1、CDH6 默认没有开启纠删码,需要在cloudera manager中进行设置,启用后需要重启HDFS服务。

1.jpg



2.jpg


3.jpg

相关文章

helm部署gitlab

helm部署gitlab

官方文档地址添加gitlab的helm仓库helm repo add gitlab https://charts.gitlab.io/�查看已经安装的helm仓库helm repo list安装git...

Hadoop集群小文件合并优化建议指导

Hadoop集群小文件合并优化建议指导

1 综述1.1 综述本指导书旨在指导大数据集群使用者在大数据集群小文件较多的情况下,针对小文件进行优化处理,有效减小集群文件对象数目,减缓namenode所承载的压力,减少mapreduce任务扫描文...

MySQL运维实战之备份和恢复(8.6)将数据库恢复到指定时间点

恢复到指定时间点使用全量备份和增量备份文件,都只能将数据库恢复到备份结束的时间。通过binlog,可以将数据库恢复到任意时间点(前提是备份和该时间点之间的binlog都存在)。找到时间点对应的binl...

MySQL 通过 MTS 多线程恢复增量日志备份

MySQL 通过 MTS 多线程恢复增量日志备份

一、前言当发生 DDL 误删数据时,只能通过 备份 + 增量日志 来恢复,备份恢复到新实例后,将增量日志备份进行应用,此时只能单线程效率不高,我们可以使用 MySQL 5.7 推出的 MTS 多线程复...

REPMGR-PG高可用搭建(一)

REPMGR-PG高可用搭建(一)

PG高可用对比数据库复制的术语和定义这些术语和定义应该有助于讨论复制。在与其他Postgres开发人员进行了大量讨论之后,我编译了它们,但是这些定义应该是普遍可用的,并且也应该适用于其他RDBMS。复...

MySQL 添加列报错处理

MySQL 添加列报错处理

一、添加列报错(65535)表添加列收到报错,具体 SQL 和报错信息如下:ALTER TABLE table ADD column varchar(256) NULL COMMENT '个人打款授权...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。