如何正确检查 hdfs 上的磁盘使用情况?

Posted

技术标签:

【中文标题】如何正确检查 hdfs 上的磁盘使用情况?【英文标题】:How to properly check disk usage on hdfs? 【发布时间】:2017-04-10 15:04:58 【问题描述】:

我正在纱线上运行作业,我看到了

Resources are low on NN.  Please add or free up more resources then turn off safe mode manually.

所以,我去检查磁盘空间,我发现有足够的空间:

df -h

Filesystem  Size     Used     Available  Use%  Mounted on
/dev/xvda1  5.0G     4.2 G    491 M      90%   /
tmpfs       30G      0        30 G       0%    /dev/shm
/dev/xvdb   53G      17 G     33 G       34%   /media/ephemeral0

所以有空间。可能是什么问题?

【问题讨论】:

显示数据节点上的可用空间。该错误似乎告诉了namenode的状态。在 namenode 上,查看是否磁盘不足。 似乎有足够的空间对吧?我在哪里寻找它超出的限制? 另外,“Mounted on”是什么意思? 在您的hdfs-site.xml 中,为dfs.namenode.name.dir 设置的值是多少? 成为"Mounted on"是什么意思? 【参考方案1】:

NN 上的资源不足。

您的 Namenode 的本地文件系统资源不足。

默认情况下,dfs.namenode.du.reserved 配置为104857600 bytes。即,正在写入编辑 dfs.namenode.name.dir 的挂载点应该至少有 100MB 的可用空间。检查节点的磁盘空间使用情况。

df -h

要么释放磁盘以获得足够的空间,要么为其添加更多磁盘空间。然后留下safemode

hdfs dfsadmin -safemode leave

【讨论】:

是的,我也检查过,当我检查df -h / 时,它是 90%,所以应该有足够的空间吗?我认为问题出在 hdfs,因为我看到有空间。 不,它不是 HDFS。它是您的磁盘或内存。你能发布df -h的输出吗?

以上是关于如何正确检查 hdfs 上的磁盘使用情况?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用du 和 ncdu 两个命令检查 Linux 磁盘使用情况?

如何对HDFS进行节点内(磁盘间)数据平衡

markdown 如何检查linux的磁盘使用情况

如何使用 C# 文件 API 检查磁盘上的逻辑和物理文件大小

磁盘上的文件如何表示

如何更改 hdfs 用户的 HDFS 用户主目录?