0

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

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

有什么建议,可能有什么问题?

4

1 回答 1

0

在 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>

它将按预期使用文件。

于 2015-08-18T13:06:07.407 回答