【问题标题】:how to add maven classpath when submitting hadoop task to a hadoop node将hadoop任务提交到hadoop节点时如何添加maven类路径
【发布时间】:2013-07-23 09:19:10
【问题描述】:

我有一个由 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/ 中,我应该怎么做

【问题讨论】:

    标签: maven hadoop classpath


    【解决方案1】:

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

    如果你使用eclipse,可以在项目构建路径中添加maven仓库路径:

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

    创建一个M2_REPO = 你的存储库路径

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-03-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多