3

尝试利用您的帖子: https ://gist.github.com/2884606

我尝试运行命令:

hadoop jar mongo-hadoop-streaming-assembly*.jar -mapper mapper.rb -reducer reducer.rb -inputURI mongodb://127.0.0.1/twitter.in -outputURI mongodb://127.0.0.1/twitter.out

得到以下错误:线程“main”中的异常 java.lang.ClassNotFoundException: com.mongodb.hadoop.streaming.MongoStreamJob

我编译了 jar mongo-hadoop-streaming-assembly*.jar 但它不包含上述类。

我尝试使用 -libjar 来包含类存档,但 hadoop 无法识别它。

还尝试导出 CLASS_PATH 以包含在上面。

用于构建 Hadoop Streaming https://github.com/mongodb/mongo-hadoop/tree/master/streaming

./sbt mongo-hadoop-streaming/组装

4

1 回答 1

3

Apache Hadoop 1.0.3 不支持流式传输。Apache Hadoop 版本控制方案相当混乱,因为 1.0.x 实际上基于旧版本 (0.20),而不是当前的开发分支 (0.23),后者将成为 Apache Hadoop 2.0 (!)。

有关支持的 Hadoop 版本和限制的更多信息,请参阅构建适配器:流支持

一个更容易上手的 Hadoop 版本是Cloudera Release 3,它具有包下载以及可用的预构建 VM。

于 2012-08-08T06:34:10.393 回答