今天有个服务器出现了无法启动ambari-agent的情况,df -h发现/空间已经满了,
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sdb4 620G 620G 0 100% /
tmpfs 63G 0 63G 0% /dev/shm
/dev/sdb1
291M 36M 241M 13% /boot
查看/目录文件没有发现大的文件和目录,
linux里的文件被删除后,空间没有被释放是因为在Linux系统中,通过rm或者文件管理器删除文件将会从文件系统的目录结构上解除链接(unlink).
然而如果文件是被打开的(有一个进程正在使用),那么进程将仍然可以读取该文件,磁盘空间也一直被占用。
使用lsof |grep delete 查看被删除了的所有文件,
mingetty
2516 root txt REG 8,20 19144 21364848 /sbin/mingetty (deleted)
mingetty
2518 root txt REG 8,20 19144 21364848 /sbin/mingetty (deleted)
zabbix_ag
14869
zabbix 1w REG 8,20 3847 9961480 /tmp/zabbix_agentd.log (deleted)
zabbix_ag
14869 zabbix 2w REG 8,20 3847 9961480 /tmp/zabbix_agentd.log (deleted)
红色为进程号,使用kill -9 2516 结束进程
或者使用
lsof |grep delete |awk '{print $2}'|xargs kill -9
kill全部的进程
再运行df -h空间已经释放了
Filesystem Size Used Avail Use% Mounted on
/dev/sdb4 620G 151G 438G 26% /
tmpfs 63G 0 63G 0% /dev/shm
/dev/sdb1 291M 36M 241M 13% /boot
服务启动成功,很多问题都是由于空间不足引起的,所以再出现问题的时候,先看看空间情况。