2

RHEL 6 で wordcount の単純な Mapreduce ジョブを実行しようとしましたが、一貫してこのエラーが発生します。助けてください。

13/01/13 19:59:01 INFO mapred.MapTask: io.sort.mb = 100
13/01/13 19:59:01 WARN mapred.LocalJobRunner: job_local_0001
java.lang.OutOfMemoryError: Java heap space
    at org.apache.hadoop.mapred.MapTask$MapOutputBuffer.<init>(MapTask.java:949)
    at org.apache.hadoop.mapred.MapTask$NewOutputCollector.<init>(MapTask.java:674)
    at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:756)
    at org.apache.hadoop.mapred.MapTask.run(MapTask.java:370)
    at org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:212)
13/01/13 19:59:02 INFO mapred.JobClient:  map 0% reduce 0%
13/01/13 19:59:02 INFO mapred.JobClient: Job complete: job_local_0001
13/01/13 19:59:02 INFO mapred.JobClient: Counters: 0
4

2 に答える 2

5

おそらく、最大ヒープと最大パーマ スペースの JVM 設定を増やす必要があります。

Hadoop ジョブの実行中にVisual VMを実行することをお勧めします。これにより、何が起こっているかをある程度把握できるようになります。

複数のサーバーを実行していますか? 1 つのサーバーに多くのことを要求している可能性があります。

于 2013-01-13T14:55:40.677 に答える
0

jstat -gcutilJVM のメモリ使用量を監視するために使用できます。これにより、ヒープ使用量の増加速度が示されます。

さらに、GC ロギングを有効にすることもできます。これは軽量で、インスタンス化する各 JVM について同じものを表示します。

-XX:+UnlockDiagnosticVMOptions -XX:+LogVMOutput -XX:LogFile=jvm.log -XX:+HeapDumpOnOutOfMemoryError -Xloggc:gc.log -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -showversion

于 2013-01-14T23:29:26.973 に答える