HDFS dfs.name.dir的可用空间不足

时间:2019-02-21 07:13:14

标签: hadoop hdfs

Spark应用程序引发此错误:

> Cannot create directory
> /home/user/hdp/.sparkStaging/application_00000000_000. Name node is in
> safe mode. Resources are low on NN.  Please add or free up more
> resources then turn off safe mode manually. NOTE:  If you turn off
> safe mode before adding resources, the NN will immediately return to
> safe mode. Use "hdfs dfsadmin -safemode leave" to turn safe mode off.

所以我尝试了这个: hdfs dfs -df -h

Filesystem                                                          Size   Used  Available  Use%
hdfs://ip-xx-xx-xxx-xxx.xxxxxxxx.xx-xxxx-x.compute.internal:xxxx  58.5 G  5.0 G     46.5 G    9%

因为它有足够的可用空间,所以我尝试做 df -h ,发现 $ {dfs.name.dir} = / xx2 / namenode 消耗了/ xxx / xxxx3中的所有可用空间(27G)

Filesystem      Size  Used Avail Use% Mounted on
xxxxxxxx        3.9G   72K  3.9G   1% /xxx
xxxxx           3.9G     0  3.9G   0% /xxx/shm
/xxx/xxxx1      9.8G  3.8G  5.9G  40% /
/xxx/xxxx2      5.0G   65M  5.0G   2% /xx1
/xxx/xxxx3       27G   27G   94M 100% /xx2

我不知道如何为该目录正确释放一些空间。

1 个答案:

答案 0 :(得分:0)

您可以检查safemode中的hdfs-default.xml阈值

dfs.safemode.threshold.pct
dfs.namenode.safemode.threshold-pct

尝试增加阈值,然后在下面使用该按钮退出安全模式。之后,一旦发现造成问题的黑羊文件,您就可以还原所做的更改

hdfs dfsadmin -safemode leave

当hadoop在系统磁盘空间上工作时,您可以检查本地文件(/var/log/..)。也可以检查hadoop.tmp.dir中提到的目录。在所有数据节点上使用hadoop fs -rmr和名称节点刷新