将第三方jar添加到hadoop作业时出现问题



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

-libjars也不适用于我(很可能是因为我们没有使用toolrunner)

有什么建议吗?

在HADOOP_CLASSPATH 中添加Jar

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

添加最后一行

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

"/root/hadop/extrajars/javajson.jar"是linux盒子本身上的路径,而不是HDFS上的路径

重新启动hadoop

命令

hadoop classpath

应该在类路径中显示jar

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

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

它将按预期使用来自的文件。

相关内容

  • 没有找到相关文章

最新更新