Hadoop Oozie pig操作更改job jar的番石榴依赖项

Hadoop Oozie pig操作更改job jar的番石榴依赖项,hadoop,classpath,apache-pig,oozie,Hadoop,Classpath,Apache Pig,Oozie,如何配置oozie pig操作以优先于user.classpath? 清管器版本0.10.0-cdh4.2.1 我试过所有的 mapreduce.task.classpath.user.precedence mapreduce.task.classpath.first mapreduce.job.user.classpath.first mapreduce.user.classpath.first 作为清管器动作配置设置的一部分 <action name="my_action">

如何配置oozie pig操作以优先于user.classpath? 清管器版本0.10.0-cdh4.2.1

我试过所有的

mapreduce.task.classpath.user.precedence
mapreduce.task.classpath.first
mapreduce.job.user.classpath.first
mapreduce.user.classpath.first
作为清管器动作配置设置的一部分

<action name="my_action">
    <pig>
        <configuration>
             <property>
                  <name>mapreduce.job.user.classpath.first</name>
                   <value>true</value>
              </property>
但是,当org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLancher启动作业时;然后Zookeeper的作业控制日志在类路径中首先有guava 11

[JobControl] INFO  org.apache.zookeeper.ZooKeeper  - Client environment:java.class.path= // has guava 11 first in the classpath !

下面的设置应该可以解决您的问题

            <property>
                    <name>mapreduce.job.classloader</name>
                    <value>true</value>
            </property>

mapreduce.job.classloader
真的

不是为mapreduce作业本身,而是为您启动mapreduce作业的oozie启动器。所以你应该用下面的一个来代替


oozie.launcher.mapreduce.job.user.classpath.first
真的

用于oozie/pig/hive

<property>
    <name>oozie.launcher.mapreduce.task.classpath.user.precedence</name>
    <value>true</value>
</property>
<property>
    <name>mapreduce.task.classpath.user.precedence</name>
    <value>true</value>
</property>

oozie.launcher.mapreduce.task.classpath.user.priority
真的
mapreduce.task.classpath.user.priority
真的
<property>
    <name>oozie.launcher.mapreduce.task.classpath.user.precedence</name>
    <value>true</value>
</property>
<property>
    <name>mapreduce.task.classpath.user.precedence</name>
    <value>true</value>
</property>