发布将第三方罐子添加到hadoop作业的问题

时间:2012-07-12 04:03:51

标签: hadoop mapreduce hive hdfs

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

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

任何建议,可能出现什么问题?

1 个答案:

答案 0 :(得分: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盒子本身的路径,而不是HDFS上的路径

重启hadoop

命令

hadoop classpath

应该在类路径中显示jar

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

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

它将按预期使用该文件。