hadoop纠删码

耀灵1年前技术文章480

纠删码是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

相关文章

emr部署hive并适配达梦数据库

emr部署hive并适配达梦数据库

一、达梦 用户、数据库初始化1、创建hive的元数据库create tablespace hive_meta datafile '/dm8/data/DAMENG/hive_meta.dbf' siz...

Atlas集成Hive

Atlas集成Hive

1 集成原理2 验证Hive元数据采集效果(1) 查看Atlas里是否有Hive元数据(2) 进入Hive创建一个库表create database if not exists foo;(3) 进入A...

Redis Sentinel与Cluster安装部署(一)

Redis Sentinel与Cluster安装部署(一)

1、部署规划版本redis5.0.8目录规划软件安装目录/usr/local/redis5可执行文件目录/usr/local/redis5/bin数据目录/usr/local/redis5/dada/...

python脚本--检查域名证书到期时间

需要的依赖:pip install python-dateutil pip install pytzpython脚本内容:#!/usr/bin/env python3      import s...

MySQL 自动化部署( 5.7 & 8.0版)

MySQL 自动化部署( 5.7 & 8.0版)

一、脚本环境说明系统:CentOSMySQL:仅支持 5.7 & 8.0脚本默认安装路径 /usr/local/mysql脚本默认数据路径 /data/mysql*(脚本会根据版本确定安装名...

hive 通过元数据导出所有表信息

select db.NAME as db_name,tb.TBL_NAME as table_name,case tb.TBL_TYPE when 'MANAGED_TABLE...

发表评论    

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