1

Ubuntu 12.04 の Hadoop 1.0.4 で c++ で wordcount の例を実行しようとしていますが、次のエラーが発生します。

指示:

Hadoop パイプ -D hadoop.pipes.java.recordreader=true -D hadoop.pipes.java.recordwriter=true -input bin/input.txt -output bin/output.txt -program bin/wordcount.

エラーメッセージ:

13/06/14 13:50:11 WARN mapred.JobClient: ジョブ jar ファイルが設定されていません。ユーザー クラスが見つからない可能性があります。JobConf(Class) または JobConf#setJar(String) を参照してください。13/06/14 13:50:11 INFO util.NativeCodeLoader: ネイティブ Hadoop ライブラリをロードしました 13/06/14 13:50:11 警告 snappy.LoadSnappy: Snappy ネイティブ ライブラリがロードされていません 13/06/14 13:50: 11 情報 mapred.FileInputFormat: 処理する合計入力パス: 1 13/06/14 13:50:11 情報 mapred.JobClient: 実行中のジョブ: job_201306141334_0003 13/06/14 13:50:12 情報 mapred.JobClient: マップ 0% 0% を減らす 13/06/14 13:50:24 情報 mapred.JobClient: タスク ID: 試行_201306141334_0003_m_000000_0、ステータス: org.apache.hadoop.mapred.pipes.OutputHandler.waitForAuthentication で失敗した java.io.IOException(OutputHandler.java: 188) org.apache.hadoop.mapred.pipes.Application.waitForAuthentication (Application.java: 194) org.apache.hadoop.mapred.pipes.Application.(Application.java:149) で org.apache.hadoop.mapred.pipes.PipesMapRunner.run(PipesMapRunner.java:71) で org.apache.hadoop. org.apache.hadoop.mapred.MapTask.run(MapTask.java:372) の mapred.MapTask.runOldMapper(MapTask.java:436) org.apache.hadoop.mapred.Child$4.run(Child.java:255) ) で java.security.AccessController.doPrivileged(Native Method) で javax.security.auth.Subject.doAs(Subject.java:415) で org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1121) でorg.apache.hadoop.mapred.Child.main(Child.java:249) attempts_201306141334_0003_m_000000_0: サーバーが認証に失敗しました。終了 13/06/14 13:50:24 情報 mapred.JobClient: タスク Id: 試行_201306141334_0003_m_000001_0、ステータス: 失敗 org.apache.hadoop.mapred.pipes.PipesMapRunner.run(PipesMapRunner.java:71) の Application.(Application.java:149) org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:436) のorg.apache.hadoop.mapred.MapTask.run(MapTask.java:372) at org.apache.hadoop.mapred.Child$4.run(Child.java:255) at java.security.AccessController.doPrivileged(Native Method) javax.security.auth.Subject.doAs(Subject.java:415) org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1121) org.apache.hadoop.mapred.Child.main(Child) .java:249) attempts_201306141334_0003_m_000000_0: サーバーの認証に失敗しました。終了 13/06/14 13:50:24 情報 mapred.JobClient: タスク Id: 試行_201306141334_0003_m_000001_0、ステータス: 失敗 org.apache.hadoop.mapred.pipes.PipesMapRunner.run(PipesMapRunner.java:71) の Application.(Application.java:149) org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:436) のorg.apache.hadoop.mapred.MapTask.run(MapTask.java:372) at org.apache.hadoop.mapred.Child$4.run(Child.java:255) at java.security.AccessController.doPrivileged(Native Method) javax.security.auth.Subject.doAs(Subject.java:415) org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1121) org.apache.hadoop.mapred.Child.main(Child) .java:249) attempts_201306141334_0003_m_000000_0: サーバーの認証に失敗しました。終了 13/06/14 13:50:24 情報 mapred.JobClient: タスク Id: 試行_201306141334_0003_m_000001_0、ステータス: 失敗 org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:436) で実行 (PipesMapRunner.java:71) org.apache.hadoop.mapred.MapTask.run(MapTask.java:372) で org.apache org.apache. hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1121) org.apache.hadoop.mapred.Child.main(Child.java:249) で試行_201306141334_0003_m_000000_0: サーバーが認証に失敗しました。終了 13/06/14 13:50:24 情報 mapred.JobClient: タスク Id: 試行_201306141334_0003_m_000001_0、ステータス: 失敗 org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:436) で実行 (PipesMapRunner.java:71) org.apache.hadoop.mapred.MapTask.run(MapTask.java:372) で org.apache org.apache. hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1121) org.apache.hadoop.mapred.Child.main(Child.java:249) で試行_201306141334_0003_m_000000_0: サーバーが認証に失敗しました。終了 13/06/14 13:50:24 情報 mapred.JobClient: タスク Id: 試行_201306141334_0003_m_000001_0、ステータス: 失敗 hadoop.mapred.Child$4.run(Child.java:255) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:415) at org.apache.hadoop .security.UserGroupInformation.doAs(UserGroupInformation.java:1121) org.apache.hadoop.mapred.Child.main(Child.java:249) で試行_201306141334_0003_m_000000_0: サーバーは認証に失敗しました。終了 13/06/14 13:50:24 情報 mapred.JobClient: タスク Id: 試行_201306141334_0003_m_000001_0、ステータス: 失敗 hadoop.mapred.Child$4.run(Child.java:255) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:415) at org.apache.hadoop .security.UserGroupInformation.doAs(UserGroupInformation.java:1121) org.apache.hadoop.mapred.Child.main(Child.java:249) で試行_201306141334_0003_m_000000_0: サーバーは認証に失敗しました。終了 13/06/14 13:50:24 情報 mapred.JobClient: タスク Id: 試行_201306141334_0003_m_000001_0、ステータス: 失敗 サーバーは認証に失敗しました。終了 13/06/14 13:50:24 情報 mapred.JobClient: タスク Id: 試行_201306141334_0003_m_000001_0、ステータス: 失敗 サーバーは認証に失敗しました。終了 13/06/14 13:50:24 情報 mapred.JobClient: タスク Id: 試行_201306141334_0003_m_000001_0、ステータス: 失敗

私は解決策を見つけられず、それを機能させるためにかなり長い間試みてきました。

ご協力ありがとうございます。

4

1 に答える 1

0

このSOの質問(マルチノードクラスターで実行されていないhadoop)が見つかりました。そのユーザーは同様のエラーを受け取り、トップの回答に従って「クラスを設定」しなかったという結果になりました。ただし、これは Java でした。

Hadoop での C++ ワードカウントの例の実行に関するこのチュートリアルを見つけました。うまくいけば、これはあなたを助けます。 http://cs.smith.edu/dftwiki/index.php/Hadoop_Tutorial_2.2_--_Running_C%2B%2B_Programs_on_Hadoop

于 2013-06-14T12:28:35.587 に答える