当我尝试运行nutch生成命令时,共享内存文件的空间不足
我已经运行了3周的nutch爬行命令,现在当我尝试运行任何nutch命令时,我收到以下错误:
Java HotSpot(TM) 64 位服务器虚拟机警告:共享内存文件空间不足:/tmp/hsperfdata_user/27050 尝试使用 -Djava.io.tmpdir= 选项选择备用临时位置。
错误:找不到或加载主类 ___.tmp.hsperfdata_user.27055
如何解决此问题?
我已经运行了3周的nutch爬行命令,现在当我尝试运行任何nutch命令时,我收到以下错误:
Java HotSpot(TM) 64 位服务器虚拟机警告:共享内存文件空间不足:/tmp/hsperfdata_user/27050 尝试使用 -Djava.io.tmpdir= 选项选择备用临时位置。
错误:找不到或加载主类 ___.tmp.hsperfdata_user.27055
如何解决此问题?
是的,这确实是一个/tmp挂载到的卷上的可用空间的问题。如果您在 EC2 或任何云平台上运行此卷,请附加一个新卷并在该卷上挂载 /tmp。如果在本地运行,除了清理以腾出更多空间之外,没有其他选择。
请尝试如下命令:df -h 以查看实例上挂载的每个卷上的已用百分比和可用空间。您将看到类似下面的内容:
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 7.9G 7.9G 0 100% /
tmpfs 30G 0 30G 0% /dev/shm
/dev/xvda3 35G 1.9G 31G 6% /var
/dev/xvda4 50G 44G 3.8G 92% /opt
/dev/xvdb 827G 116G 669G 15% /data/1
/dev/xvdc 827G 152G 634G 20% /data/2
/dev/xvdd 827G 149G 637G 19% /data/3
/dev/xvde 827G 150G 636G 20% /data/4
cm_processes 30G 22M 30G 1% /var/run/cloudera-scm-agent/process
当磁盘空间已满时,您将开始看到此错误,如此转储中所示。
我认为使用的临时位置已经满了。尝试使用其他位置。另外,检查每个分区中的#inodes可用并清理一些空间。
编辑:无需在操作系统级别更改 /tmp。我们希望 nutch 和 hadoop 使用其他位置来存储临时文件。看看这个来做那个:hadoop应该是什么.tmp.dir?