升级到CDH 6.1时的Spark会话创建问题

问题描述 投票:3回答:1

目前我的spark应用在CDH.5.14中运行,没有问题。

 Caused by: java.lang.IllegalArgumentException: Unrecognized Hadoop major version number: 3.0.0-cdh6.1.0

升级到6.1.0后,火花会话创建问题。

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
apache-spark hadoop hive cloudera-cdh
1个回答
1
投票

我想这是由于蜂巢 发出. 由于你的hive jars版本与Hadoop 3.0不兼容。

我也使用Cloudera-Manager,我的解决方法是将相关的jars替换为 CDH版本譬如 '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>
© www.soinside.com 2019 - 2024. All rights reserved.