关于HDFS中dfs.datanode.du.reserved系统空间预留参数

本文深入解析了HDFS预留空间参数dfs.datanode.du.reserved的作用及影响,通过调整系统保留空间和dfs.datanode.du.reserved参数值,确保HBase在实际可用空间内高效稳定运行。提供了具体操作方法和实例,帮助读者理解如何根据实际使用需求优化配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

dfs.datanode.du.reserved
官方解释为:适用于非分布式文件系统 (DFS) 使用的保留空间(字节/卷)。
通俗的意思:预留磁盘的一部分空间给操作系统用,这个参数主要是为了防止磁盘空间被写满导致的HDFS异常。通常系统默认保留5%的磁盘空间给操作系统用。
那么每个盘可用的HDFS存储空间是:(总存储空间 - dfs.datanode.du.reserved ),其在 hdfs-default.xml 中的值如下:

dfs.datanode.du.reserved
75G
Reserved space in bytes per volume. Always leave this much space free for non dfs use.

举例:
一块4T的盘,格式化完了以后剩下3.6T,去掉5%的系统保留空间200G,就剩下3.4T。
但是hbase是按照磁盘的总空间3.6T来算写入的,此时可以供写入的实际只有3.4T。这里总空间和实际空间的差值就是0.2T,也就是200G。而此时如果dfs.datanode.du.reserved设置为小于200G,那么hbase就存在空间写满的风险。因此,我们在配置HBase的时候,需要根据系统实际使用空间来配置dfs.datanode.du.reserved参数的大小。
解决办法:
1、将系统保留空间调整小(总空间-系统保留空间)
tune2fs -m 1 /dev/diskname
备注:系统默认保留5%的空间,也就是tune2fs -m 5 /dev/diskname。上面的命令即保留为1%
2、将dfs.datanode.du.reserved调大

最佳实践:
因为HDFS一般使用的数据盘都是T级别的硬盘,系统默认保留5%其实是很浪费的。因此最好的解决办法是同时进行1、2两种方法的调整。
即推荐系统保留空间为2%,并将dfs.datanode.du.reserved做调整。
比如我们的盘是4T,格式化后可用空间为3.6T,那么可以调整系统保留空间为2%即75G左右,dfs.datanode.du.reserved设置为200G

参考链接:
https://www.jianshu.com/p/508449d8f12c
https://blog.youkuaiyun.com/qq_20641565/article/details/54970107
https://blog.youkuaiyun.com/oDaiLiDong/article/details/69664784

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值