Hive 版本:2.0.0
Spark 2.3.0
Yarn 作為調度程式。
它不兼容開箱即用,但我必須設定以下配置以使其兼容。
spark.sql.hive.metastore.version 2.0.0
spark.sql.hive.metastore.jars /usr/local/apache-hive-2.0.0-bin/lib/*
我能夠使用 spark-sql 在 spark 集群上成功運行 hive 查詢。但是,當我使用 hive cli 運行查詢時,我面臨以下錯誤(如 hive 日志中所示):
2021-10-17T03:06:53,727 INFO [1ff8e619-80bb-46ea-9fd0-824d57ea3799 1ff8e619-80bb-46ea-9fd0-824d57ea3799 main]: client.SparkClientImpl (SparkClientImpl.java:startDriver(428)) - Running client driver with argv: /usr/local/spark/bin
/spark-submit --properties-file /tmp/spark-submit.255205804744246105.properties --class org.apache.hive.spark.client.RemoteDriver /usr/local/apache-hive-2.0.0-bin/lib/hive-exec-2.0.0.jar --remote-host <masked_hostname> --remote-port 34537 --conf hive.spark.client.connect.timeout=1000 --conf hive.spark.client.server.connect.timeout=90000 --conf hive.spark.client.channel.log.level=null --conf hive.spark.client.rpc.max.size=52428800 --conf hive.spark.client.rpc.threads=8 --conf hive.spark.client.secret.bits=256
2021-10-17T03:06:54,488 INFO [stderr-redir-1]: client.SparkClientImpl (SparkClientImpl.java:run(593)) - Warning: Ignoring non-spark config property: hive.spark.client.server.connect.timeout=90000
2021-10-17T03:06:54,489 INFO [stderr-redir-1]: client.SparkClientImpl (SparkClientImpl.java:run(593)) - Warning: Ignoring non-spark config property: hive.spark.client.rpc.threads=8
2021-10-17T03:06:54,489 INFO [stderr-redir-1]: client.SparkClientImpl (SparkClientImpl.java:run(593)) - Warning: Ignoring non-spark config property: hive.spark.client.connect.timeout=1000
2021-10-17T03:06:54,489 INFO [stderr-redir-1]: client.SparkClientImpl (SparkClientImpl.java:run(593)) - Warning: Ignoring non-spark config property: hive.spark.client.secret.bits=256
2021-10-17T03:06:54,489 INFO [stderr-redir-1]: client.SparkClientImpl (SparkClientImpl.java:run(593)) - Warning: Ignoring non-spark config property: hive.spark.client.rpc.max.size=52428800
2021-10-17T03:06:55,000 INFO [stderr-redir-1]: client.SparkClientImpl (SparkClientImpl.java:run(593)) - java.lang.NoClassDefFoundError: org/apache/spark/JavaSparkListener
2021-10-17T03:06:55,000 INFO [stderr-redir-1]: client.SparkClientImpl (SparkClientImpl.java:run(593)) - at java.lang.ClassLoader.defineClass1(Native Method)
2021-10-17T03:06:55,000 INFO [stderr-redir-1]: client.SparkClientImpl (SparkClientImpl.java:run(593)) - at java.lang.ClassLoader.defineClass(ClassLoader.java:756)
2021-10-17T03:06:55,000 INFO [stderr-redir-1]: client.SparkClientImpl (SparkClientImpl.java:run(593)) - at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
2021-10-17T03:06:55,000 INFO [stderr-redir-1]: client.SparkClientImpl (SparkClientImpl.java:run(593)) - at java.net.URLClassLoader.defineClass(URLClassLoader.java:468)
2021-10-17T03:06:55,000 INFO [stderr-redir-1]: client.SparkClientImpl (SparkClientImpl.java:run(593)) - at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
2021-10-17T03:06:55,001 INFO [stderr-redir-1]: client.SparkClientImpl (SparkClientImpl.java:run(593)) - at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
2021-10-17T03:06:55,001 INFO [stderr-redir-1]: client.SparkClientImpl (SparkClientImpl.java:run(593)) - at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
2021-10-17T03:06:55,001 INFO [stderr-redir-1]: client.SparkClientImpl (SparkClientImpl.java:run(593)) - at java.security.AccessController.doPrivileged(Native Method)
2021-10-17T03:06:55,001 INFO [stderr-redir-1]: client.SparkClientImpl (SparkClientImpl.java:run(593)) - at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
2021-10-17T03:06:55,001 INFO [stderr-redir-1]: client.SparkClientImpl (SparkClientImpl.java:run(593)) - at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
2021-10-17T03:06:55,001 INFO [stderr-redir-1]: client.SparkClientImpl (SparkClientImpl.java:run(593)) - at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
2021-10-17T03:06:55,001 INFO [stderr-redir-1]: client.SparkClientImpl (SparkClientImpl.java:run(593)) - at java.lang.Class.forName0(Native Method)
2021-10-17T03:06:55,001 INFO [stderr-redir-1]: client.SparkClientImpl (SparkClientImpl.java:run(593)) - at java.lang.Class.forName(Class.java:348)
2021-10-17T03:06:55,001 INFO [stderr-redir-1]: client.SparkClientImpl (SparkClientImpl.java:run(593)) - at org.apache.spark.util.Utils$.classForName(Utils.scala:235)
2021-10-17T03:06:55,002 INFO [stderr-redir-1]: client.SparkClientImpl (SparkClientImpl.java:run(593)) - at org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:836)
2021-10-17T03:06:55,002 INFO [stderr-redir-1]: client.SparkClientImpl (SparkClientImpl.java:run(593)) - at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:197)
2021-10-17T03:06:55,002 INFO [stderr-redir-1]: client.SparkClientImpl (SparkClientImpl.java:run(593)) - at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:227)
2021-10-17T03:06:55,002 INFO [stderr-redir-1]: client.SparkClientImpl (SparkClientImpl.java:run(593)) - at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:136)
2021-10-17T03:06:55,002 INFO [stderr-redir-1]: client.SparkClientImpl (SparkClientImpl.java:run(593)) - at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
2021-10-17T03:06:55,003 INFO [stderr-redir-1]: client.SparkClientImpl (SparkClientImpl.java:run(593)) - Caused by: java.lang.ClassNotFoundException: org.apache.spark.JavaSparkListener
2021-10-17T03:06:55,003 INFO [stderr-redir-1]: client.SparkClientImpl (SparkClientImpl.java:run(593)) - at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
2021-10-17T03:06:55,003 INFO [stderr-redir-1]: client.SparkClientImpl (SparkClientImpl.java:run(593)) - at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
2021-10-17T03:06:55,003 INFO [stderr-redir-1]: client.SparkClientImpl (SparkClientImpl.java:run(593)) - at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
我還使用Spark 作為 Hive 的執行引擎將 spark 庫添加到 hive 類路徑中
任何建議如何解決上述錯誤?
uj5u.com熱心網友回復:
我建議使用 gradle/maven 使用依賴關系圖。如果有,請排除任何歧義依賴項。因為看起來依賴項沒有正確添加或依賴的 jar 版本在執行時重疊。
uj5u.com熱心網友回復:
2021-10-17T03:06:55,000 INFO [stderr-redir-1]: client.SparkClientImpl (SparkClientImpl.java:run(593)) - java.lang.NoClassDefFoundError: org/apache/spark/JavaSparkListener
這意味著 Java 兼容錯誤。請檢查 Java 版本。我建議只使用 java 1.8 版本。還要檢查依賴項。 https://issues.apache.org/jira/browse/HIVE-14029
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/321978.html
標籤:爪哇 阿帕奇火花 Hadoop 蜂巢 apache-spark-sql
