Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/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 升级到cdh 6.1时出现Spark会话创建问题_Apache Spark_Hadoop_Hive_Cloudera Cdh - Fatal编程技术网

Apache spark 升级到cdh 6.1时出现Spark会话创建问题

Apache spark 升级到cdh 6.1时出现Spark会话创建问题,apache-spark,hadoop,hive,cloudera-cdh,Apache Spark,Hadoop,Hive,Cloudera Cdh,目前我的spark应用程序在CDH.5.14中运行,没有任何问题 Caused by: java.lang.IllegalArgumentException: Unrecognized Hadoop major version number: 3.0.0-cdh6.1.0 升级到6.1.0后,出现spark会话创建问题 Caused by: java.lang.ExceptionInInitializerError at org.apache.hadoop.hive.conf

目前我的spark应用程序在CDH.5.14中运行,没有任何问题

 Caused by: java.lang.IllegalArgumentException: Unrecognized Hadoop major version number: 3.0.0-cdh6.1.0
升级到6.1.0后,出现spark会话创建问题

Caused by: java.lang.ExceptionInInitializerError
        at org.apache.hadoop.hive.conf.HiveConf.<clinit>(HiveConf.java:105)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:348)
        at org.apache.spark.util.Utils$.classForName(Utils.scala:238)
        at org.apache.spark.sql.SparkSession$.hiveClassesArePresent(SparkSession.scala:1117)
        at org.apache.spark.sql.SparkSession$Builder.enableHiveSupport(SparkSession.scala:866)
        ... 7 more
Caused by: java.lang.IllegalArgumentException: Unrecognized Hadoop major version number: 3.0.0-cdh6.1.0
        at org.apache.hadoop.hive.shims.ShimLoader.getMajorVersion(ShimLoader.java:174)
        at org.apache.hadoop.hive.shims.ShimLoader.loadShims(ShimLoader.java:139)
        at org.apache.hadoop.hive.shims.ShimLoader.getHadoopShims(ShimLoader.java:100)
        at org.apache.hadoop.hive.conf.HiveConf$ConfVars.<clinit>(HiveConf.java:368)
        ... 15 more
原因:java.lang.ExceptionInInitializeError
位于org.apache.hadoop.hive.conf.HiveConf.(HiveConf.java:105)
位于java.lang.Class.forName0(本机方法)
位于java.lang.Class.forName(Class.java:348)
位于org.apache.spark.util.Utils$.classForName(Utils.scala:238)
位于org.apache.spark.sql.SparkSession$.hiveClassesArePresent(SparkSession.scala:1117)
位于org.apache.spark.sql.SparkSession$Builder.enableHiveSupport(SparkSession.scala:866)
... 还有7个
原因:java.lang.IllegalArgumentException:无法识别的Hadoop主要版本号:3.0.0-cdh6.1.0
在org.apache.hadoop.hive.shims.ShimLoader.getMajorVersion(ShimLoader.java:174)上
位于org.apache.hadoop.hive.shimmers.ShimLoader.loadshimmers(ShimLoader.java:139)
位于org.apache.hadoop.hive.shimmers.ShimLoader.gethadoopshimmers(ShimLoader.java:100)
位于org.apache.hadoop.hive.conf.HiveConf$ConfVars(HiveConf.java:368)
... 还有15个

我想这是因为蜂巢。因为您的hive jars版本与Hadoop 3.0不兼容

我还使用Cloudera Manager,我如何解决这个问题是用CDH版本替换相关的JAR,比如
'xxx-CDH{CDH version}

以pom.xml为例:

<dependency>
    <groupId>org.apache.spark</groupId>
    <artifactId>spark-hive_2.11</artifactId>
    <version>2.4.0-cdh6.2.0</version>
    <scope>runtime</scope>
</dependency>

org.apache.spark
spark-hive_2.11
2.4.0-cdh6.2.0
运行时