如何使用JDK 11运行Spark并连接到Hive Metastore

时间:2018-11-03 10:12:46

标签: apache-spark hive java-11

我们需要使用JDK 11运行Hadoop,因此降级Java是不可行的。使用JDK 8一切都可以正常工作。我们的配置包括Yarn,HDFS目录中的Spark JAR和Thrift 2.1.1:thrift:// hadoopnode1:9083

错误是:

Caused by: java.lang.NoClassDefFoundError: org/apache/hadoop/hive/conf/HiveConf
at org.apache.spark.sql.hive.client.HiveClientImpl.newState(HiveClientImpl.scala:149)
at org.apache.spark.sql.hive.client.HiveClientImpl.<init>(HiveClientImpl.scala:114)
... 49 more
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.hive.conf.HiveConf
at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:471)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:588)

尝试指定spark.sql.hive.metastore.jars专家,变得更加荒唐:

Caused by: java.lang.ClassNotFoundException: java.sql.Timestamp
at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:471)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:588)

最初我使用Spark 2.1.0,但是获得最新的2.3.2却无济于事-完全一样的行为。

0 个答案:

没有答案