1
bash-3.2 $ echo $ JAVA_HOME
/System/Library/Frameworks/JavaVM.framework/Versions/1.6/Home
bash-3.2 $ bin / hadoop dfs -copyFromLocal conf / user / yokkom / input2
bash-3.2 $ bin / hadoop jar hadoop-*-examples.jar grep input2output'dfs[az。]+'
09/04/17 10:09:32 INFO mapred.FileInputFormat:処理する入力パスの合計:10
09/04/17 10:09:33 INFO mapred.JobClient:実行中のジョブ:job_200904171309_0001
java.io.IOException:ジョブが失敗しました!
        org.apache.hadoop.mapred.JobClient.runJob(JobClient.java:1232)で
        org.apache.hadoop.examples.Grep.run(Grep.java:69)で
        org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)で
        org.apache.hadoop.examples.Grep.main(Grep.java:93)で
        sun.reflect.NativeMethodAccessorImpl.invoke0(ネイティブメソッド)で
        sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)で
        sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)で
        java.lang.reflect.Method.invoke(Method.java:597)で
        org.apache.hadoop.util.ProgramDriver $ ProgramDescription.invoke(ProgramDriver.java:68)で
        org.apache.hadoop.util.ProgramDriver.driver(ProgramDriver.java:141)で
        org.apache.hadoop.examples.ExampleDriver.main(ExampleDriver.java:61)で
        sun.reflect.NativeMethodAccessorImpl.invoke0(ネイティブメソッド)で
        sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)で
        sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)で
        java.lang.reflect.Method.invoke(Method.java:597)で
        org.apache.hadoop.util.RunJar.main(RunJar.java:165)で
        org.apache.hadoop.mapred.JobShell.run(JobShell.java:54)で
        org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)で
        org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:79)で
        org.apache.hadoop.mapred.JobShell.main(JobShell.java:68)で

なぜこれが起こるのか誰かが知っていますか?同じジョブがLinuxマシンで完全に実行されます。また、「ジョブが失敗しました」が発生すると、Hadoopクラスター全体が応答を停止します。

私のMacOSバージョンは10.5.6です。

編集hadoop-0.20.1の同じ結果

4

2 に答える 2

0

私はそれをグーグルで検索しましたが、以前に同じエラー(まったく同じ行で)が発生しました。ここここでそれについて読んでください。

2番目のリンクは次のことを示唆しています。

  • 詳細なレポートを表示するには、conf/log4j.propertiesを削除してください
  • ヒープメモリを増やしてみてください(-Xmsおよび-Xmxスイッチを使用)
于 2009-05-18T20:25:20.523 に答える
0

ええ、特に大規模なデータセットでは、grep はメモリを消費する可能性があります。あなたのインプットはどれくらいですか?ところで、パーマメモリもあります。

http://java.sun.com/javase/technologies/hotspot/vmoptions.jsp

OutOfMemory でカスタム動作を実行する興味深いスイッチがいくつかありますが、jobRunner は VM に到達する前にすべてをキャッチしているだけだと思います。デバッグするには別の方法が必要になる場合があります。

于 2009-05-25T17:14:30.857 に答える