我有一个scala jar文件,它从hive视图中读取数据并在hdfs中创建一个csv文件,这个jar在从CLI调用时处于Spark集群模式,但是从Oozie的触发工作流时,它抛出以下错误spark动作抛出'Classpath包含多个SLF4J绑定'来自oozie的错误
SLF4J : Classpath contains multiple SLF4J bindings.
SLF4J : Found binding in [jar:file:/data/hadoop-data/9/yarn/nm/filecache/7505/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J : Found binding in [jar:file:/data/hadoop-data/1/yarn/nm/usercache/cntr/filecache/216569/slf4j-log4j12.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J : Found binding in [jar:file:/opt/cloudera/parcels/CDH-5.8.3-1.cdh5.8.3.p2256.2455/jars/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J : Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
我已经做了一些搜索和发现,在pom.xml中的依赖关系添加排除会做伎俩,所以下面我已经加入到我在pom.xml中排除
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
<exclusion>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</exclusion>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</exclusion>
</exclusions>
,但我依然得到同样的错误触发从Oozie的工作流程
火花罐子当任何建议,欢迎
它的原因是您的类路径中有多个'slf4j-log4j12-1.7.5.jar',就像您在错误中看到的一样。我想这不是一个错误,它只是一个信息,不是吗? –
嗨@RameshMaharjan,它来自oozie stderr,并因为这个火花行动是失败的,因为罐子在命令行界面运行时成功运行群集 – major