0

我有一个由 maven 管理的 j2ee 项目,我在本地机器上有一个 hadoop 节点,我用代码提交了我的 hadoop 作业 Configuration conf = new Configuration(); conf.set("baseFileLocation", baseFileLocation); conf.set("fs.default.name", "hdfs://localhost:9000");
conf.set("hadoop.job.user","pin"); conf.set("mapred.job.tracker","localhost:9001"); ToolRunner.run(conf,new LDAJob(), ldaArgs);

但是在提交作业后我得到了一些 ClassNotFoundexception。然后我将依赖 jar 添加到 $HADOOP_PREFIX/libexec/lib/ ,工作终于完成了。依赖 jar 都在本地 maven 存储库中,并且 maven 存储库已经在类路径中,如果我想让 hadoop 知道依赖 jar 的位置,除了将依赖 jar 添加到 $HADOOP_PREFIX/libexec/lib/ 之外,我应该怎么做

4

1 回答 1

1

也许您可以在 $HADOOP_PREFIX/libexec/lib/ 中建立一个指向您的 Maven 存储库路径的软链接。

如果你使用 eclipse,你可以将 maven 存储库路径添加到项目构建路径中:

window->preferences->java->Build Path->ClassPath Variable

create a M2_REPO= 您的存储库路径

于 2013-07-23T01:19:10.947 回答