У меня есть рабочий процесс ooz ie, в котором я вызываю свое искровое действие, в той же папке есть дополнительная банка, скажем, xyz.jar, а имя моей искровой банки - ab c .jar. всякий раз, когда я удаляю xyz.jar из этой папки, мой ab c .jar отправляется правильно, но как только я добавляю эту банку в ту же папку, он терпит неудачу, давая исключение ниже. Я не могу удалить xyz.jar, так как дальнейшие действия зависят от xyz. в xyz.jar у нас есть guava-27.1-jre.jar. Spark-OPTS не требуется, если я удаляю xyz.jar .. это то, что я сделал дополнительно, чтобы заставить использовать guava 16.0.1.jar
action:
<action name="data_load">
<spark xmlns="uri:oozie:spark-action:0.1">
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<master>yarn</master>
<mode>cluster</mode>
<name>Movement</name>
<class>com.package.Job</class>
<jar>path/lib/abc.jar
</jar>
<spark-opts>--jars path/lib/guava-16.0.1.jar --driver-class-path path/lib/guava-16.0.1.jar --conf spark.executor.extraClassPath=path/lib/guava-16.0.1.jar --conf spark.executor.userClassPathFirst=true --conf spark.driver.userClassPathFirst=true</spark-opts>
</spark>
<ok to="notifyJobSuccess" />
<error to="notifyJobFailure" />
error:
2020-06-18 16:06:13,481 ERROR [main] org.apache.hadoop.mapreduce.v2.app.MRAppMaster: Error starting MRAppMaster
java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
at com.google.inject.TypeLiteral.getParameterTypes(TypeLiteral.java:269)
at com.google.inject.spi.InjectionPoint.forMember(InjectionPoint.java:113)
at com.google.inject.spi.InjectionPoint.<init>(InjectionPoint.java:72)
at com.google.inject.spi.InjectionPoint.forMethod(InjectionPoint.java:316)
at com.google.inject.internal.ProviderMethodsModule.createProviderMethod(ProviderMethodsModule.java:293)
at com.google.inject.internal.ProviderMethodsModule.getProviderMethods(ProviderMethodsModule.java:135)
at com.google.inject.internal.ProviderMethodsModule.configure(ProviderMethodsModule.java:105)
at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:347)
at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:356)
at com.google.inject.AbstractModule.install(AbstractModule.java:103)
at com.google.inject.servlet.ServletModule.configure(ServletModule.java:50)
at com.google.inject.AbstractModule.configure(AbstractModule.java:61)
at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:347)
at com.google.inject.spi.Elements.getElements(Elements.java:104)
at com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:137)
at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:105)
at com.google.inject.Guice.createInjector(Guice.java:87)
at com.google.inject.Guice.createInjector(Guice.java:69)
at com.google.inject.Guice.createInjector(Guice.java:59)
at org.apache.hadoop.yarn.webapp.WebApps$Builder.build(WebApps.java:280)
at org.apache.hadoop.yarn.webapp.WebApps$Builder.start(WebApps.java:303)
at org.apache.hadoop.mapreduce.v2.app.client.MRClientService.serviceStart(MRClientService.java:144)
at org.apache.hadoop.service.AbstractService.start(AbstractService.java:193)
at org.apache.hadoop.mapreduce.v2.app.MRAppMaster.serviceStart(MRAppMaster.java:1148)
at org.apache.hadoop.service.AbstractService.start(AbstractService.java:193)
at org.apache.hadoop.mapreduce.v2.app.MRAppMaster$5.run(MRAppMaster.java:1553)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:422)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1698)
at org.apache.hadoop.mapreduce.v2.app.MRAppMaster.initAndStartAppMaster(MRAppMaster.java:1549)
at org.apache.hadoop.mapreduce.v2.app.MRAppMaster.main(MRAppMaster.java:1482)
2020-06-18 16:06:13,484 INFO [main] org.apache.hadoop.util.ExitUtil: Exiting with status 1