我在cloudera中使用纱线运行火花应用程序。 Spark版本:2.1
我收到以下错误:
SLF4J:类路径包含多个SLF4J绑定。 SLF4J:找到了 绑定 [JAR:文件:/data/yarn/nm/filecache/13/jars/slf4j-log4j12-1.7.16.jar /org/slf4j/impl/StaticLoggerBinder.class] SLF4J:发现绑定 [JAR:文件:/opt/cloudera/parcels/CDH-5.10.2-1.cdh5.10.2.p0.5/jars/slf4j-log4j12-1.7.5.jar /org/slf4j/impl/StaticLoggerBinder.class ] SLF4J:请参阅http://www.slf4j.org/codes.html#multiple_bindings 说明。 SLF4J:实际绑定是类型 [org.slf4j.impl.Log4jLoggerFactory] 18/04/14 22:20:57 INFO util.SignalUtils:TERM 18/04/14 22:20:57的注册信号处理程序 INFO util.SignalUtils:HUP 18/04/14的注册信号处理程序 22:20:57 INFO util.SignalUtils:INT的已注册信号处理程序 线程“main”java.lang.ClassCastException中的异常: org.apache.hadoop.conf.Configuration无法转换为 org.apache.hadoop.yarn.conf.YarnConfiguration at 。org.apache.spark.deploy.yarn.ApplicationMaster(ApplicationMaster.scala:60) 在 org.apache.spark.deploy.yarn.ApplicationMaster $$ anonfun $主$ 1.适用$ MCV $ SP(ApplicationMaster.scala:764) 在 org.apache.spark.deploy.SparkHadoopUtil $$匿名$ 1.run(SparkHadoopUtil.scala:67) 在 org.apache.spark.deploy.SparkHadoopUtil $$匿名$ 1.run(SparkHadoopUtil.scala:66) 在java.security.AccessController.doPrivileged(Native Method)at javax.security.auth.Subject.doAs(Subject.java:415)at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1656) 在 org.apache.spark.deploy.SparkHadoopUtil.runAsSparkUser(SparkHadoopUtil.scala:66) 在 org.apache.spark.deploy.yarn.ApplicationMaster $。主要(ApplicationMaster.scala:763) 在 org.apache.spark.deploy.yarn.ApplicationMaster.main(ApplicationMaster.scala)
答案 0 :(得分:1)
我设法通过验证SPARK_HOME变量中配置的spark版本与cloudera中安装的hadoop版本匹配来解决它。 从以下链接https://spark.apache.org/downloads.html,您可以下载适合您所需的hadoop的版本。 cloudera中的haddop版本可以通过以下方式找到:
$ hadoop version