分享

hadoop dfs.datanode.du.reserved 参数配置 

daizj 发表于 2015-3-24 21:22:39 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 11 62536
请教一下,我在hdfs-site.xml里面添加了如下配置,想设置容量空闲空间必须大于10G,但是重启datanode后,没有效果,当有数据来时,还是会往该节点放数据
<!--10G hdfs-site.xml-->
  <property>
    <name>dfs.datanode.du.reserved</name>
    <value>10737418240</value>
  </property>


hadoop集群为: hadoop-2.3.0+cdh5.0.0

好像hadoop 低版本是说有这个bug,但2.3版本应该解决了才对,有哪位大侠帮忙解答一下,谢谢!

已有(12)人评论

跳转到指定楼层
nextuser 发表于 2015-3-24 23:34:19


设置容量空闲空间必须大于10G(这里楼主的空闲),是指什么容量。

回复

使用道具 举报

jixianqiuxue 发表于 2015-3-25 00:27:32
应该能生效,这里指的是 非hdfs文件的大小,不是hdfs预留空间
回复

使用道具 举报

daizj 发表于 2015-3-25 09:40:53
jixianqiuxue 发表于 2015-3-25 00:27
应该能生效,这里指的是 非hdfs文件的大小,不是hdfs预留空间

这个参数应该是指hdfs预留空间,指的是dfs.data.dir所定义的硬盘空间需要保留的大小才对,但我这边配置后重启datanode,没效果
回复

使用道具 举报

daizj 发表于 2015-3-25 09:41:52
nextuser 发表于 2015-3-24 23:34
设置容量空闲空间必须大于10G(这里楼主的空闲),是指什么容量。

dfs.data.dir所定义的硬盘空间需要保留的大小
回复

使用道具 举报

jixianqiuxue 发表于 2015-3-25 09:43:49
daizj 发表于 2015-3-25 09:41
dfs.data.dir所定义的硬盘空间需要保留的大小



重新格式化namenode,并重启namenode.然后在看下载。楼主是怎么查看磁盘空间的
回复

使用道具 举报

daizj 发表于 2015-3-25 09:47:54
jixianqiuxue 发表于 2015-3-25 09:43
重新格式化namenode,并重启namenode.然后在看下载。楼主是怎么查看磁盘空间的

里面有很多重要的数据,不能重新格式化。查看方法有df -h和hadoop dfsadmin -report两种方法。

回复

使用道具 举报

arsenduan 发表于 2015-3-25 10:00:44
daizj 发表于 2015-3-25 09:47
里面有很多重要的数据,不能重新格式化。查看方法有df -h和hadoop dfsadmin -report两种方法。

是以前datanode就用过了,还是增加的一个新节点。
建议增加一个新节点测试,测试结果可以贴出来,大家一起分析下
回复

使用道具 举报

daizj 发表于 2015-3-25 11:24:18
谢谢大家的帮助,知道原因了。
通过 df -h 查看容量显示如下:
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda4             243G  200G   31G  87% /data

注:说明总容量为243G,使用了200G,可用31G 这里有个问题,使用量+可用量!=总容量,少掉了12G,这就是问题所在。
dfs.datanode.du.reserved设置为10G的话

通过hadoop dfsadmin -report 查看显示如下

Configured Capacity: 228260941824 (232.58 GB)
DFS Used: 208414818078 (194.10 GB)
Non DFS Used: 0 (0 B)
DFS Remaining: 19846123746 (38.48 GB)

Configured Capacity显示的dfs.data.dir指定的目录空间总容量大小-dfs.datanode.du.reserved的容量,
如果像之前设置 dfs.datanode.du.reserved为10G的话,Configured Capacity为:232.58 GB,DFS Remaining则为38.48G,
但实际/dev/sda4 可用空间才只有31G,所以有数据的话会一直会存入该节点,直到放满。




解决方法:将dfs.datanode.du.reserved设置更大。目前设置为30G
这样,hadoop dfsadmin -report 查看
Configured Capacity: 228260941824 (212.58 GB)
DFS Used: 208414818078 (194.10 GB)
Non DFS Used: 0 (0 B)
DFS Remaining: 19846123746 (18.48 GB)

dfs可用空间18.48<31G,所以当dfs全部用完,磁盘/dev/sda4还是有13G空间空闲,达到要的效果!

点评

恩,可能存在一些误差  发表于 2015-3-25 11:36
回复

使用道具 举报

daizj 发表于 2015-3-25 11:33:17
arsenduan 发表于 2015-3-25 10:00
是以前datanode就用过了,还是增加的一个新节点。
建议增加一个新节点测试,测试结果可以贴出来,大家一 ...

谢谢,问题已解决,解决方法在帖子里面已给出。
回复

使用道具 举报

12下一页
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条