hdfs上的文件是按照块方式进行存储的
块的大小通过hdfs-site.xml里面的参数进行配置,value值是以B为单位的
hadoop1默认块大小64M,hadoop2默认块大小128M
机架感知策略是hdfs的副本放置的方式
如果是外部客户端上传数据,则此时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 两个条件满足后维持的时间达到配置的要求。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)