apache-spark - 升级到 cdh 6.1 时的 Spark 会话创建问题
问题描述
目前我的 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
解决方案
我认为这是由于蜂巢问题。由于您的 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>
推荐阅读
- google-bigquery - 如何在 Big Query 中插入/更新分区表
- r - 如何创建需要用户选择数据集和列名然后执行特征选择的闪亮应用程序(Rstudio)
- node.js - Node.js - JWT、API:如何实现多个 Passport.js 身份验证中间件?
- scala - 在元组的 Rdd 中加入地图
- javascript - 将 JS RegExp 对象转换为 Java 中的 Pattern 对象
- excel - VBA Excel - 刷新数据透视表/Power Query
- asp.net - 引导模式正在打开但未显示任何数据
- microsoft-teams - 以编程方式创建频道选项卡(不是来自配置弹出窗口)
- excel - 如何获得 ODBC 刷新以触发 vb 代码
- r - 用字典中的第一个匹配替换字符串