1

我正在尝试在 c++、Hadoop 1.0.4、Ubuntu 12.04 上运行 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 信息 util.NativeCodeLoader:已加载本机 hadoop 库 13/06/14 13:50:11 警告 snappy.LoadSnappy:Snappy 本机库未加载 13/06/14 13:50: 11 INFO mapred.FileInputFormat:要处理的总输入路径:1 13/06/14 13:50:11 INFO mapred.JobClient:正在运行的作业:job_201306141334_0003 13/06/14 13:50:12 INFO mapred.JobClient:map 0%减少 0% 13/06/14 13:50:24 信息 mapred.JobClient:任务 ID:尝试_201306141334_0003_m_000000_0,状态:在 org.apache.hadoop.mapred.pipes.OutputHandler.waitForAuthentication(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。 mapred.MapTask.runOldMapper(MapTask.java:436) at org.apache.hadoop.mapred.MapTask.run(MapTask.java:372) at 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) attempt_201306141334_0003_m_000000_0:服务器验证失败。退出 13/06/14 13:50:24 信息 mapred.JobClient:任务 ID:尝试_201306141334_0003_m_000001_0,状态:失败 Application.(Application.java:149) at org.apache.hadoop.mapred.pipes.PipesMapRunner.run(PipesMapRunner.java:71) at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:436) at 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)尝试_201306141334_0003_m_000000_0:服务器无法进行身份验证。退出 13/06/14 13:50:24 信息 mapred.JobClient:任务 ID:尝试_201306141334_0003_m_000001_0,状态:失败 Application.(Application.java:149) at org.apache.hadoop.mapred.pipes.PipesMapRunner.run(PipesMapRunner.java:71) at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:436) at 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)尝试_201306141334_0003_m_000000_0:服务器无法进行身份验证。退出 13/06/14 13:50:24 信息 mapred.JobClient:任务 ID:尝试_201306141334_0003_m_000001_0,状态:失败 在 org.apache.hadoop.mapred.MapTask.run(MapTask.java:372) 的 org.apache.hadoop.mapred.MapTask.run(MapTask.java:372) 的 org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:436) 运行(PipesMapRunner.java:71) .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) at org.apache.hadoop.mapred.Child.main(Child.java:249) attempt_201306141334_0003_m_000000_0:服务器无法进行身份验证。退出 13/06/14 13:50:24 信息 mapred.JobClient:任务 ID:尝试_201306141334_0003_m_000001_0,状态:失败 在 org.apache.hadoop.mapred.MapTask.run(MapTask.java:372) 的 org.apache.hadoop.mapred.MapTask.run(MapTask.java:372) 的 org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:436) 运行(PipesMapRunner.java:71) .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) at org.apache.hadoop.mapred.Child.main(Child.java:249) attempt_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 org.apache.hadoop.mapred.Child.main(Child.java:249) 上的 .security.UserGroupInformation.doAs(UserGroupInformation.java:1121) 尝试_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 org.apache.hadoop.mapred.Child.main(Child.java:249) 上的 .security.UserGroupInformation.doAs(UserGroupInformation.java:1121) 尝试_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 not running in the multinode cluster),该用户遇到了类似的错误,最终结果是他们没有根据最佳答案“设置一个类”。然而,这是 Java。

我找到了关于在 Hadoop 中运行 C++ wordcount 示例的教程。希望这可以帮助你。 http://cs.smith.edu/dftwiki/index.php/Hadoop_Tutorial_2.2_--_Running_C%2B%2B_Programs_on_Hadoop

于 2013-06-14T12:28:35.587 回答