在使用hdfs存儲的時(shí)候可能會遇到一個(gè)問題:明明設(shè)置hadoop dfs.datanode.du.reserved預(yù)留空間的,但是磁盤還是被寫滿了。
當(dāng)你掛載磁盤作為datanode的存儲空間,如果磁盤大小為500G當(dāng)你使用df -h 可能會發(fā)現(xiàn)上面顯示(舉個(gè)例子):總磁盤大小500G,使用了430G,剩余50G,這里就會有個(gè)問題:500G-(430G+50G)=20G, 還差了20G空間。
就是因?yàn)檫@20G空間的問題導(dǎo)致你磁盤寫滿,如果你配置hadoop dfs.datanode.du.reserved為小于20G的話,那么磁盤就會被寫滿,預(yù)留空間就沒有起到實(shí)際的作用,一個(gè)解決的辦法就是設(shè)置hadoop dfs.datanode.du.reserved的值 = 用總磁盤大小 - 使用的 - 剩余的得到的差值 + 你想設(shè)置的預(yù)留空間大小。
比如: 在上面的基礎(chǔ)上你設(shè)置預(yù)留空間為10G,那么dfs.datanode.du.reserved就可以設(shè)置為: 500G-(430G+50G) + 10G = 30G。
新聞熱點(diǎn)
疑難解答
圖片精選