我想启动hadoop流媒体作业,但失败了: 15/05/19 23:17:34 ERROR streaming.StreamJob: Error Launching job : The NameSpace quota (directories and files) of directory /user/myname is exceeded: quota=1000000 file count=1000001
我试着用 hdfs dfs -rm -r -f files
报告文件被移到垃圾箱。然后我试着 hdfs dfs -expunge
我回来了: 15/05/19 23:12:32 INFO fs.TrashPolicyDefault: Namenode trash configuration: Deletion interval = 0 minutes, Emptier interval = 0 minutes. 15/05/19 23:12:33 INFO fs.TrashPolicyDefault: Created trash checkpoint: /user/myname/.Trash/150519231233
但我还是得到了最初的错误。我该怎么办?
2条答案
按热度按时间jpfvwuh41#
原来我只需要等几个小时,直到一切都安定下来!
tpxzln5u2#
如果我是你,我会按照另一个答案。。。
如果你真的知道自己在做什么,那么你可以:
这是我在阅读后汇编的:如何删除终端中的非空目录?剩下的。。
当你删除一个文件或一个目录时,它会被扔进垃圾箱,但是当你删除垃圾箱时,会有一个间隔(这个间隔是可配置的,取决于你的设置,我的间隔是1h),这个间隔必须经过,这样才会发生真正的删除。
这样做的目的是,您可能会意外地删除一些重要的内容(或者在使用了大量计算能力之后生成的内容),而这种配置为您提供了恢复数据的机会。
如果您不确定如何继续,我建议您至少等一个小时,然后再试一次,否则。。
从这个链接中,有一个列表提出了一些想法:
告诉用户使用
-Dfs.trash.interval=0
删除大目录时排除
/user/<username>/.Trash
从配额中移动
.Trash
由于/user directory
. 也许 吧/Trash/<username>
设置不同的配额。什么时候
-rm
/rmr
配额失败,自动删除。引入一个单独的命令来执行(1)。像这样的
-rmr -skipTrash
用于强制删除。