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
我不知道如何为该目录正确释放一些空间。
答案 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
和名称节点刷新