开发中遇到集群节点的磁盘空间大小差距比较大,2T到20T不等。
由于HDFS的存储机制,数据是分布式均匀存储到节点上,所以会导致空间小的节点先存储满,进一步导致该节点没有多余空间存储各种运行文件而崩溃。
运行df -h指令查看节点磁盘使用情况
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_lv_root 345G 214G 114G 66% /
总大小为345G,剩余可用为114G
运行hdfs dfsadmin -report指令查看节点hdfs使用情况
Configured Capacity: 364628604928 (339.59 GB)
DFS Used: 214173401155 (199.46 GB)
Non DFS Used: 9903613885 (9.22 GB)
DFS Remaining: 121362387193 (113.03 GB)
DFS Used%: 58.74%
DFS Remaining%: 33.28%
剩余可用只有113G,预留给系统的空间只有1G不到,有时剩余可用甚至大于实际系统可用
这种情况下就要保证HDFS的剩余可用小于系统剩余可用
HDFS中有针对非DFS保留