Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark java.lang.ClassCastException:org.apache.hadoop.conf.Configuration不能强制转换为org.apache.hadoop.warn.conf.YarnConfiguration_Apache Spark_Yarn_Cloudera_Apache Spark 2.0_Scala 2.11 - Fatal编程技术网

Apache spark java.lang.ClassCastException:org.apache.hadoop.conf.Configuration不能强制转换为org.apache.hadoop.warn.conf.YarnConfiguration

Apache spark java.lang.ClassCastException:org.apache.hadoop.conf.Configuration不能强制转换为org.apache.hadoop.warn.conf.YarnConfiguration,apache-spark,yarn,cloudera,apache-spark-2.0,scala-2.11,Apache Spark,Yarn,Cloudera,Apache Spark 2.0,Scala 2.11,我正在使用cloudera中的纱线运行spark应用程序。 Spark版本:2.1 我得到以下错误: SLF4J:类路径包含多个SLF4J绑定。SLF4J:已找到 装订 [jar:file:/data/warn/nm/filecache/13/jars/slf4j-log4j12-1.7.16.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J:在中找到绑定 [jar:file:/opt/cloudera/parcels/CDH-5.10.2-

我正在使用cloudera中的纱线运行spark应用程序。 Spark版本:2.1

我得到以下错误:

SLF4J:类路径包含多个SLF4J绑定。SLF4J:已找到 装订 [jar:file:/data/warn/nm/filecache/13/jars/slf4j-log4j12-1.7.16.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J:在中找到绑定 [jar:file:/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:有关详细信息,请参阅 解释。SLF4J:实际绑定的类型为 [org.slf4j.impl.Log4jLoggerFactory]18/04/14 22:20:57信息 util.SignalUtils:术语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.warn.conf.YarnConfiguration位于 org.apache.spark.deploy.warn.ApplicationMaster(ApplicationMaster.scala:60) 在 ApplicationMaster$$anonfun$main$1.apply$mcV$sp(ApplicationMaster.scala:764) 在 org.apache.spark.deploy.SparkHadoopUtil$$anon$1.run(SparkHadoopUtil.scala:67) 在 org.apache.spark.deploy.SparkHadoopUtil$$anon$1.run(SparkHadoopUtil.scala:66) 位于java.security.AccessController.doPrivileged(本机方法) javax.security.auth.Subject.doAs(Subject.java:415)位于 org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1656) 在 org.apache.spark.deploy.SparkHadoopUtil.runAsSparkUser(SparkHadoopUtil.scala:66) 在 org.apache.spark.deploy.warn.ApplicationMaster$.main(ApplicationMaster.scala:763) 在 org.apache.spark.deploy.warn.ApplicationMaster.main(ApplicationMaster.scala)


我通过验证spark_HOME变量中配置的spark版本与cloudera中安装的hadoop版本相匹配来解决这个问题。 通过以下链接,您可以下载所需hadoop的合适版本。 cloudera中的haddop版本可以通过以下方式找到:

$ hadoop version

我也面临同样的问题。你找到这个问题的解决方案了吗?@hayat请查看下面的答案。我有相同的pb,我已经排除了强制使用集群库的可能性。配置{runtimeonly{exclude group:'org.apache.spark'}}即使您的spark本地版本与目标版本不同,也可能发生这种情况。当同一个盒子上有许多安装时,要特别小心,确保您的SPARK_HOME指向与服务器完全相同的版本。