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

3

目前我的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
1个回答

1
我认为这是由于Hive 问题引起的。由于您的Hive jars版本与Hadoop 3.0不兼容。
我也使用Cloudera-Manager,解决方法是用CDH版本替换相关的jars,例如'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>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接