Отправка Spark через ooz ie рабочий процесс выдает NoSuchMethodError: com.google.common.base.Preconditions.checkArgument (object, object, object) - PullRequest
0 голосов
/ 18 июня 2020

У меня есть рабочий процесс 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

1 Ответ

0 голосов
/ 20 июня 2020

Да, управление путями к классам затруднено, когда в игре находится несколько больших проектов, таких как Ooz ie и Spark. Вы пробовали затенять ваше использование гуавы ?

...