13

過去3週間、nutchクロールコマンドを実行してきましたが、nutchコマンドを実行しようとすると、次のエラーが発生します。

Java HotSpot(TM)64ビットサーバーVM警告:共有メモリファイル用のスペースが不足しています:/ tmp / hsperfdata_user / 27050 -Djava.io.tmpdir =オプションを使用して、別の一時場所を選択してみてください。

エラー:メインクラス___。tmp.hsperfdata_user.27055が見つからないかロードできませんでした

この問題を解決するにはどうすればよいですか?

4

2 に答える 2

10

ええ、これは本当に/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

このダンプに示されているように、ディスクスペースがいっぱいになると、このエラーが表示され始めます。

于 2014-09-20T21:22:32.187 に答える
9

使っていた仮設場所がいっぱいになったと思います。他の場所を使用してみてください。また、各パーティションの#inodesが空いていることを確認し、スペースを空けてください。

編集: OSレベルで/tmpを変更する必要はありません。nutchとhadoopで、一時ファイルを保存するために他の場所を使用する必要があります。これを行うには、これを見てください: hadoop.tmp.dirはどうあるべきですか?

于 2013-01-12T05:40:01.677 に答える