Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1210831
  • 博文数量: 259
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 2518
  • 用 户 组: 普通用户
  • 注册时间: 2012-10-13 16:12
个人简介

科技改变世界,技术改变人生。

文章分类

全部博文(259)

分类: HADOOP

2015-08-28 17:00:16

问题描述:

前几天发现hadoophdfs磁盘空间经常满,导致任务失败,但是查看hadoop fs -du -h /  这个根目录的文件大小总计150T左右,但是在50070端口页面查看到的磁盘使用接近390T,怀疑是文件备份数出问题了。

执行 hadoop dfs -ls [filename]  近期的文件都是3份,上个月的抽几个文件看了下都是2份

执行 hadoop fsck /  查看整个目录的备份数分布,输出结果如下:
Default replication factor  2
Average block replication 2.38

昨天晚上用 执行 hadoop fs -setrep -r 2 / 命令直接把hdfs根目录下的所有文件副本数设置成2,命令执行了大约1个小时,磁盘已使用空间从390T变成299T,一下子释放了接近100T的磁盘空间。今天来查看了下文件副本数,今天新生成的还是3个副本。查看了namenode和datanode的cdh和mr目录下面的hdfs-site.xml配置文件里面dfs.replication副本数参数的value值设置的全是2。

主要信息为副本数与默认配置不符的文件/目录。

这个cdr.done(备份数为3的目录)目录存储的是什么数据?从哪里来的?
答:是预处理上传过来的数据

预处理主机的dfs.replication设置的是几?
答:把预处理jar包解压后找到了设置dfs.replication参数的hdfs-site.xml配置文件,修改后重新打个jar包重启预处理服务,查看了了上传的最新上传的一个文件副本数是2,问题解决

block的备份数是由写入数据的client端配置决定的,所以该类问题一般是由client的配置引起。
阅读(3063) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~