【问题标题】:Issue adding third-party jars to hadoop job将第三方 jars 添加到 hadoop 作业的问题
【发布时间】:2012-07-12 04:03:50
【问题描述】:

我正在尝试将第三方 jars 添加到 hadoop 作业中。我使用DistributedCache.addFileToClassPath 方法添加每个罐子。我可以看到mapred.job.classpath.files 已正确填充到作业 xml 文件中。

-libjars 对我也不起作用(很可能是因为我们没有使用 toolrunner)

有什么建议,有什么问题吗?

【问题讨论】:

  • 您添加的 jars 是已经在 HDFS 中,还是在您的工作客户端本地?
  • 你应该尽可能使用 ToolRunner

标签: hadoop mapreduce hive hdfs


【解决方案1】:

在 HADOOP_CLASSPATH 中添加 Jar

    vi $HADOOP_HOME/etc/hadoop/hadoop-env.sh

添加最后一行

export HADOOP_CLASSPATH=/root/hadoop/extrajars/java-json.jar:$HADOOP_CLASSPATH

"/root/hadoop/extrajars/java-json.jar" 是 linux box 本身而不是 HDFS 上的路径

重启hadoop

命令

hadoop classpath

应该在类路径中显示 jar

现在像往常一样运行 MR 作业

hadoop jar <MR-program jar> <MR Program class> <input dir> <output dir>

它将按预期使用文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-11
    • 1970-01-01
    • 1970-01-01
    • 2017-12-09
    • 1970-01-01
    • 2022-07-07
    • 1970-01-01
    • 2018-01-31
    相关资源
    最近更新 更多