You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Hortonworks HDP SSH客户端释放Non DFS Used空间?

解决HDP Sandbox中Non DFS Used占用过高的磁盘空间问题

Hey there! 完全可以通过Sandbox HDP的SSH客户端操作释放空间,你已经找对了方向——hdfs dfs -du -h /只能看到HDFS管控的数据,而Non DFS Used是磁盘上不属于HDFS管理的文件(比如系统日志、临时文件、其他服务的本地缓存等),咱们从这部分入手清理就行,一步步来:

1. 定位HDFS DataNode的存储目录

首先得明确DataNode的存储路径,这样能精准找到Non DFS对应的磁盘分区。在SSH里执行:

hdfs getconf -confKey dfs.datanode.data.dir

你会得到类似/hadoop/hdfs/data的路径,接着用下面的命令查看该路径所在磁盘的整体使用情况:

df -h

找到对应路径挂载的磁盘分区(比如可能是/dev/sda1挂载到/),确认当前的磁盘占用状态。

2. 排查Non DFS占用的具体内容

进入DataNode存储目录的上级目录,查看各文件夹的大小分布:

cd /hadoop/hdfs
du -h --max-depth=1

这里面data/current是HDFS的块数据(属于DFS Used),其他文件夹比如logs、tmp,以及系统级的日志、临时目录都是Non DFS Used的重灾区,比如:

  • Hadoop组件日志:/var/log/hadoop-hdfs/、/var/log/yarn/
  • 系统临时文件:/tmp/
  • YARN本地缓存:可以用yarn getconf -confKey yarn.nodemanager.local-dirs获取路径

3. 具体清理操作

清理旧日志文件

日志是Non DFS Used的常见大户,你可以删除旧的日志归档文件,或者清空当前日志:

# 清空DataNode当前日志
sudo truncate -s 0 /var/log/hadoop-hdfs/hadoop-hdfs-datanode-*.log
# 删除YARN NodeManager的旧日志归档
sudo rm -rf /var/log/yarn/yarn-nodemanager-*.log.*

清理系统临时文件

/tmp目录下的过期临时文件可以放心清理:

sudo rm -rf /tmp/*

清理YARN本地缓存

YARN的本地目录会残留旧的容器数据,清理后能释放不少空间:

# 获取YARN本地目录路径
YARN_LOCAL_DIR=$(yarn getconf -confKey yarn.nodemanager.local-dirs)
# 清理用户缓存和容器日志
sudo rm -rf ${YARN_LOCAL_DIR}/usercache/*
sudo rm -rf ${YARN_LOCAL_DIR}/containerlogs/*

4. 验证清理效果

清理完成后,执行以下命令查看HDFS磁盘使用情况,确认Non DFS Used是否下降:

hdfs dfsadmin -report

你会看到Non DFS Used: X GB的数值,应该比之前小很多。

注意事项

  • 清理前最好先查看文件的修改时间,确认是旧文件再删除,避免误删正在使用的文件。
  • 清理YARN缓存后,建议重启YARN NodeManager服务:sudo systemctl restart yarn-nodemanager
  • 如果是VirtualBox动态分配的磁盘,清理后可以在宿主机的VirtualBox界面里对虚拟机磁盘进行压缩,进一步节省空间(这一步不在SSH操作范围内)

内容的提问来源于stack exchange,提问作者samba

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 09:21:00