在使用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。
新聞熱點
疑難解答