我有一个由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\u prefix/libexec/lib/,工作终于完成了。依赖jar都在本地maven repository中,maven repository已经在classpath中了,如果我想让hadoop知道依赖jar在哪里,除了将依赖jar添加到$hadoop\u prefix/libexec/lib之外,我应该怎么做/
1条答案
按热度按时间nmpmafwu1#
也许您可以在$hadoop\u prefix/libexec/lib/中构建一个软链接,指向您的maven存储库路径。
如果使用eclipse,可以将maven存储库路径添加到项目构建路径:
创建
M2_REPO
=存储库路径