HDFS的副本机制和机架感知策略

HDFS的副本机制和机架感知策略,第1张

hdfs上的文件是按照块方式进行存储的

块的大小通过hdfs-site.xml里面的参数进行配置,value值是以B为单位的

hadoop1默认块大小64M,hadoop2默认块大小128M

机架感知策略是hdfs的副本放置的方式

2.7以前是第一个复本而言:

如果是外部客户端上传数据,则此时namenode会选择一个相对空闲节点存放第一个复本,

如果DataNode本身就是客户端,本身上传,好比伪分布式,都在你这台电脑上,内部上传,则第一个复本放在本节点上

第二个副本,在2.7以前,第二个副本要放到和第一个副本不同机架的节点上,为了防止一个机架挂了,都消失了

第三个副本在2.7以前,放到和第二个副本相同机架上,相同机架之间传输的快

如果是外部客户端上传数据,则此时namenode会选择一个相对空闲节点存放第一个复本,

如果DataNode本身就是客户端,本身上传,好比伪分布式,都在你这台电脑上,内部上传,则第一个复本放在本节点上

第二个副本,在2.7后,第二个副本要放到和第一个副本相同机架的节点上,

第三个副本在2.7后,放到和第二个副本不同机架上

默认是不开启的,需要如下配置

hadoop-site.xml配置文件中配置一个选项:

    最近发现生产Hadoop集群磁盘利用率达到了 60% ,数据增长速度超出了预期。针对以上问题,提出了两种方案:

本文主要记录修改数据备份<dfs.replication>的过程。

1、修改 hdfs-site.xml 文件

2、重启hdfs

3、验证

4、修改已存在数据的备份

参数说明:

     命令执行过程中,会比较耗时,也有可能会中断( 原因暂时不明 ),中断后可多试几次,该命令执行的过程中不会影响数据的写入。

5、通过命令查看副本数情况

有上面可以看出,数据备份由3变成了2.5,说明语句产生了效果。

安全模式是hadoop的一种保护机制,用于保护集群中数据块的安全性.当集群启动的时候,会首先进入安全模式.当系统处于安全模式时会检查数据块的完整性

假设我们设置的副本数(即参数dfs.replication)是3,那么在DataNode上就应该有三个副本,假设只有两个复本,那么副本率=2/3=0.67,hdfs默认副本率是0.99.不符合,所以会自动复制副本到其他的DataNode,使得副本率不小于0.99,如果系统中有5个副本,超过我们设定的3个副本,系统也会删除多于两个

在安全模式状态下,文件系统只接受读数据请求,而不接受删除数据,修改等变更请求,在当整个系统达到安全标准,HDFS自动离开安全模式

1,设置副本率

2,离开安全模式的最小存活的DataNode数,默认0

3,上面两个都满足情况下维持时间,单位毫秒

总结一下,要离开安全模式,需要满足以下条件:

1)达到副本数量要求的block比例满足要求;

2)可用的datanode节点数满足配置的数量要求;

3) 1、2 两个条件满足后维持的时间达到配置的要求。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/11365042.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存