在使用hdfs存储的时候可能会遇到一个问题:明明设置hadoop dfs.datanode.du.reserved预留空间的,但是磁盘还是被写满了。
当你挂载磁盘作为datanode的存储空间,如果磁盘大小为500G当你使用df -h 可能会发现上面显示(举个例子):总磁盘大小500G,使用了430G,剩余50G,这里就会有个问题:500G-(430G+50G)=20G, 还差了20G空间。
就是因为这20G空间的问题导致你磁盘写满,如果你配置hadoop dfs.datanode.du.reserved为小于20G的话,那么磁盘就会被写满,预留空间就没有起到实际的作用,一个解决的办法就是设置hadoop dfs.datanode.du.reserved的值 = 用总磁盘大小 - 使用的 - 剩余的得到的差值 + 你想设置的预留空间大小。
比如: 在上面的基础上你设置预留空间为10G,那么dfs.datanode.du.reserved就可以设置为: 500G-(430G+50G) + 10G = 30G。
新闻热点
疑难解答