0434-如何在CDH6.0中使用纠删码

Fayson的github: https://github.com/fayson/cdhproject

推荐关注微信公众号:“Hadoop实操”,ID:gh_c4c535955d0f,或者扫描文末二维码。

1.文档编写目的

Fayson在前面的文章中介绍过《0432-什么是HDFS的纠删码》,当时详细介绍了什么是纠删码,纠删码的实现原理,以及一些Benchmark的结果比较。

纠删码是CDH6/Hadoop3新加入的功能,之前的HDFS都是采用副本方式容错,默认情况下,一个文件有3个副本,可以容忍任意2个副本(DataNode)不可用,这样提高了数据的可用性,但也带来了2倍的冗余开销。例如3TB的空间,只能存储1TB的有效数据。而纠删码则可以在同等可用性的情况下,节省更多的空间,以rs-6-3-1024K这种纠删码策略为例子,6份原始数据,编码后生成3份校验数据,一共9份数据,只要最终有6份数据存在,就可以得到原始数据,它可以容忍任意3份数据不可用,而冗余的空间只有原始空间的0.5倍,只有副本方式的1/4,因此,可以大大节约成本。本文Fayson主要是介绍如何在CDH6.0中使用纠删码。

内容概述

1.通过CM启用纠删码

2.纠删码策略介绍

3.纠删码基本操作

4.纠删码实操

5.总结

测试版本

1.CM和CDH版本为6.0

2.Redhat7.4

3.集群已启用Kerberos

2.通过CM启用纠删码

1.通过Cloudera Manager搜索HDFS服务“erasure”,勾选“cloudera.erasure_coding.enabled”配置项,保存后退出需要重启HDFS服务,重启过程略。
在这里插入图片描述

2.如果不在Cloudera Manager中设置该选项,在后台使用命令行在启用纠删码的某一个策略时,会报错,如下所示。

[root@ip-172-31-6-83 311-hdfs-NAMENODE]# hdfs ec -enablePolicy -policy XOR-2-1-1024k
RemoteException: enableErasureCodingPolicy is not allowed because cloudera.erasure_coding.enabled=false

在这里插入图片描述

3.这里顺便解释一下Cloudera Manager中关于纠删码的几个参数。

CM中参数名:DataNode Striped Read Timeout

参数:dfs.datanode.ec.reconstruction.stripedread.timeout.millis

描述:DataNode的条带读取超时,默认是5000ms。即如果超过5s没从DataNode上读取到条带数据,则会在DataNode上启动后端的重建数据的线程。
在这里插入图片描述

CM中参数名:DataNode Striped Read Threads

参数:dfs.datanode.ec.reconstruction.threads

描述:在后台重建数据工作期间DataNode用于读取条带块的线程数。
在这里插入图片描述

CM中参数名:Erasure Coding Reconstruction Weight

参数:dfs.datanode.ec.reconstruction.xmits.weight

描述:EC后台恢复任务使用的资源的相对权重,EC模式下恢复数据需要读取多个块,比如在RS-6-3-1024k的情况下为6,而如果是以前的副本复制方式只需要读取单个副本即可。这个权重值越高,可以同时运行的重建任务越少。需要读取以完成恢复的块乘以该权重以确定恢复任务的总权重。这些权重会计入dfs.namenode.replication.max-streams参数所设置的限制。
在这里插入图片描述

CM中参数名:Default Policy when Setting Erasure Coding

参数:dfs.namenode.ec.system.default.policy

描述:默认的纠删码编码策略,这里可以看到是RS-6-3-1024k。在后台依旧还是可以单独对目录进行设置。
在这里插入图片描述

CM中参数名:Erasure Coding Enabled

参数:cloudera.erasure_coding.enabled

描述:是否启用纠删码,默

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值