hadoop dfs.datanode.du.reserved 預留空間配置方法
對於datanode配置預留空間的方法 為:在hdfs-site.xml添加如下配置
<property>
<name>dfs.datanode.du.reserved</name>
<value>10737418240</value>
</property>
dfs.datanode.du.reserved的單位為字節,上面的預留空間為10G,預留30G:32212254720
預留20G:21474836480
預留空間可能遇到的問題:預留了10G,但是該節點磁盤空間去沒有真正剩余,而是一直會放數據,原因可能是如下方面:
通過 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空間空閑,達到要的效果!
hadoop dfs.datanode.du.reserved 預留空間配置方法