hadoop - 对于 oozie,如何使用 hadoop 1.3 让用户 jar 优先于 hadoop jar

标签 hadoop oozie

我正在使用 hadoop 1.3 和 oozie。我的java操作引用了一个方法commons-collection 1.7。这在以前的版本中不存在。该 jar 是一个包含所有类的胖 jar,我将其放在工作流程下的 lib 文件夹中。 OOzie 在启动时我的提交操作引用了类路径上的旧 hadoop jar,而不是给予用户 jar 优先级。有什么办法可以优先考虑用户 jar 吗? oozie.launcher.mapreduce.task.classpath.user.precedence=true 将不起作用,因为这是 hadoop 1.3 而不是 hadoop2。

最佳答案

如果您使用 Maven,一种方法是使用 Maven Shade Plugin 隐藏 jar 中有问题的类.这将透明地重命名您的 jar 中的类,这样它们就不会与由 Oozie 或 Hadoop 放在类路径中的相同类的不同版本发生冲突。

关于hadoop - 对于 oozie,如何使用 hadoop 1.3 让用户 jar 优先于 hadoop jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28797790/

相关文章:

hadoop - 如何从 Oozie 查询 Active NameNode

hadoop - 如何读取子工作流(单独的 xml 文件)中的配置属性?

sql - 如何查看hive变量的计算值

json - Hadoop中JSON的分布式处理

hadoop - 如何使用Oozie-coordinator.xml中的jceks文件路径设置set hadoop.security.credential.provider.path

java - Hadoop:如何远程调试单个 oozie java 工作流

hadoop - 如何解决 Oozie 错误 : JA009: Cannot initialize Cluster. 检查 mapreduce.framework.name 的配置

java - Hadoop DistributedCache 已弃用 - 首选 API 是什么?

java - eclipse中hadoop中的protoc错误

hadoop - 删除 pig 目录匹配模式