我正在尝试用hadoop hdfs加载我们的数据。在一些测试运行之后,当检查hadoopwebui时,我意识到在标题“nondfused”下消耗了大量空间。事实上,“未使用dfs”比“使用dfs”更重要。因此,几乎一半的集群被非dfs数据占用。
即使在重新格式化namenode并重新启动之后,这个“非dfs”空间也不会被释放。
我也找不到这个“非dfs”数据存储的目录,所以我可以手动删除这些文件。
我在网上读到了很多关于同一问题的人的帖子,但都没有得到确切的答案。
清空这个“非dfs”空间有那么难吗?或者我不应该删除它?我怎样才能腾出这个空间?
2条答案
按热度按时间olqngx591#
我现在面临着同样的问题有一段时间了,我的非dfs使用量已经达到了大约13tb!!!我尝试了许多重新配置Yarn,泰兹,mr2等,但没有成功。相反,使用率一直在增加,我的集群使用率几乎达到了90%。这反过来又导致在运行脚本和重新尝试(失败)配置系统时出现大量顶点故障。
不过,对我有效的(有趣的故事)只是从ambari简单地重新启动所有的数据节点!!!它将非dfs的使用量从13tb减少到了6tb以上。我的资源管理器已经运行了大约160天,我猜重新启动数据节点可能刚刚清除了日志文件。
ndasle7k2#
在hdfs中,非dfs存储在datanode中,该节点不被hdfs数据占用。
看看数据节点
hdfs-site.xml
,在dfs.data.dir或dfs.datanode.data.dir属性中设置的目录将用于dfs。datanode中所有其他已使用的存储将被视为非dfs存储。您可以通过从datanode机器上删除任何不需要的文件来释放它,例如hadoop日志、任何与hadoop无关的文件(磁盘上的其他信息)等。这不能通过使用任何hadoop命令来完成。
使用的非dfs通过以下公式计算,
使用的非dfs=(总磁盘空间-保留空间)-剩余空间-使用的dfs
找到下面类似的问题,
不使用dfs到底意味着什么?