hadoop-3.0.0-beta1运维手册(011):HDFS Erasure Coding纠删码使用

本文详细介绍了Hadoop 3.0.0的HDFS引入的纠删码(Erasure Coding)功能,旨在提高数据可用性和空间效率。通过对比传统副本方式,纠删码能以更低的冗余率实现相同级别的数据保护。文中通过实例展示了如何扩展datanode节点,设置和使用纠删码策略,以及数据恢复验证过程。此外,还讨论了不同纠删码策略的优缺点,并解释了HDFS在数据丢失时的自动恢复机制。
摘要由CSDN通过智能技术生成

写在前面的话

Hdfs采用分布式架构,为上层的应用和用户提供可扩展、高吞吐、高可靠的数据存储服务。在整个Hadoop生态系统中,hdfs处于最底层,也是最无可替代的一个基础设施。从2008hadoop-0.10.1版本开始到现在的hadoop-3.0.0-beta1hdfs已经走过了近10个年头,其架构和功能特性也发生了巨大的变化。特别是hdfs3.0.0系列,和hdfs2.x相比,增加了基于纠删码(erasure encoding)的容错方式,与传统的副本方式相比,在同等可用性的情况下, 能大幅节省一半以上的空间,这也是自hdfs诞生近这十年来,数据可靠性机制上的一个重大变化(之前一直都是副本容错方式)。此外hdfs3.0.0还增加了其它的一些特性,例如在Namenode HA中支持3Namenode,可以容忍2Namenode失效,而hdfs2.x只能容忍1Namenode失效。

本文以连载的方式,在大数据学习网”上记录自己使用hadoop-3.0.0-beta1hdfs的点点滴滴,包括从零开始搭建分布式hdfs3.0,如何动态扩展hdfs节点、如何使用hdfs3.0的纠删码容错等等。不当之处,请大家发邮件aishuc@126com给艾叔,谢谢!

 

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

由于编码出来的数据,要分布到多台datanode上,例如rs-6-3-1024K,就需要至少6+3=9datanode,我们目前只有2datanode,因此还需要扩充7datanode。下面的的操作就是,先扩充datanode,然后演示如何进行纠删码操作。

6.1 复制datanode节点、并动态加入 

由于纠删码要用到多个节点,我们复制dn1,构建10datanode,分布从dn2~dn9,每个datanode的内存配置为256MBIP地址从192.168.182.13~192.168.182.20

A. 每个datanode上要做的事情

1. 修改虚拟机名、主机名

2. 修改网络配置

3. 添加hosts解析

 

4. 清除datanode存储目录下的文件

5. 虚拟机内存调整位256MB

注意:打开虚拟机时,一定要选择I copied it

 

B. nn1上要做的事情

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值