我正在使用hadoop1.3和oozie。我的java操作引用了一个方法commons collection 1.7。这在以前的版本中不存在。jar是一个包含所有类的胖jar,我把它放在工作流下的lib文件夹中。oozie在启动我的提交操作时引用了类路径上的旧hadoop jar,而不是给用户jar优先级。有没有什么方法可以让用户jar优先?oozie.launcher.mapreduce.task.classpath.user.precedence=true将不起作用,因为这是Hadoop1.3而不是hadoop2。
1条答案
按热度按时间p1tboqfb1#
如果您使用maven,一种方法是使用maven shade插件对jar中有问题的类进行着色。这将透明地重命名jar中的类,以便它们不会与oozie或hadoop放在类路径上的相同类的不同版本发生冲突。