Hadoop Oozie先加载用户提供的JAR
我已尝试在workflow.xml中的oozie.launcher.mapreduce.job.user.classpath.first属性将我的JAR首先加载到sharelib JAR上。 使用此属性时无法运行工作流。Hadoop Oozie先加载用户提供的JAR,hadoop,oozie,Hadoop,Oozie,我已尝试在workflow.xml中的oozie.launcher.mapreduce.job.user.classpath.first属性将我的JAR首先加载到sharelib JAR上。 使用此属性时无法运行工作流。 hadoop hdfs在提供的jar中可用,并且版本不兼容可以使用Maven重定位策略来避免类冲突 发布pom.xml着色插件配置,对我有用 <plugin> <groupId>org.apache.maven.plugins</g
hadoop hdfs在提供的jar中可用,并且版本不兼容可以使用Maven重定位策略来避免类冲突 发布pom.xml着色插件配置,对我有用
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.2.1</version>
<executions>
<execution>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<relocations>
<relocation>
<pattern>org.apache.http</pattern>
<shadedPattern>shaded.org.apache.http</shadedPattern>
</relocation>
</relocations>
<shadedArtifactAttached>true</shadedArtifactAttached>
<filters>
<filter>
<artifact>*:*</artifact>
<excludes>
<exclude>META-INF/*.SF</exclude>
<exclude>META-INF/*.DSA</exclude>
<exclude>META-INF/*.RSA</exclude>
</excludes>
</filter>
</filters>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
org.apache.maven.plugins
maven阴影插件
3.2.1
阴凉处
org.apache.http
shade.org.apache.http
真的
*:*
META-INF/*.SF
META-INF/*.DSA
META-INF/*.RSA
那么,您使用的是什么版本,安装的是什么?顺便说一句,sharelib不会以任何方式干扰mapreduce类,因为属性不会工作——从Thread的角度来看,sharelib JAR是“用户提供的”JAR。您必须使用较新的JAR创建一个不同版本的共享库,并在您的工作流中调用该特定版本。@cricket_007更具体地说,我的问题与此链接中的问题类似。您使用的是与该答案相同版本的Oozie吗?您使用Oozie作为HDP、CDH或EMR的一部分吗?我使用Oozie作为CDH和Oozie客户端构建版本的一部分:4.1.0-cdh5.16.1、Hadoop 2.6.0-cdh5.16.1