hive on spark:return code 30041 Failed to create Spark client for Spark session緣由分析及解決方案探尋

最近在Hive中使用Spark引擎進行執行時(set hive.execution.engine=spark),常常遇到return code 30041的報錯,爲了深刻探究其緣由,閱讀了官方issue、相關博客進行了研究。下面從報錯現象、緣由分析、解決方案几個方面進行介紹,最後作一下小結。html

(一)報錯現象

ERROR : FAILED: Execution Error, return code 30041 from org.apache.hadoop.hive.ql.exec.spark.SparkTask. Failed to create Spark client for Spark session 7a817eea-176c-46ba-910e-4eed89d4eb4d

以上是我在使用Hive On Spark時遇到的報錯信息,且頻繁出現,但每次報錯後重跑hql腳本便可解決,這讓我十分疑惑。java

(二)緣由分析

相關博客列舉了以下幾個緣由:shell

一、Spark沒有正常啓動apache

二、SparkHive版本不匹配session

三、Hive鏈接Spark客戶端超過設定時長jsp

通過分析,我遇到的現象不屬於一、2,集羣上的Spark做業能正常運行,說明Spark是正常啓動的;另外,因爲設置了Hive On Spark的做業並不是永久沒法運行成功,而是偶發性失敗,重試可成功執行,說明SparkHive的版本是匹配的,不存在版本衝突問題。oop

(三)解決方案

首先,根據mszurapRe: cant use hive on spark engine cannot create client erorr code 30041上的回答,首先前提是確保如下條件能獲得知足:spa

一、在Hive服務>配置中已啓用Spark服務做爲依賴項
二、在Hive服務>配置中查看與Spark相關的設置
三、您在羣集上有足夠的資源,能夠提交YARN做業.net

其次,若是以上條件均已知足,根據issues.apache.org/jira/browse/SPARK-32345ZhouDaHong的回答。code

若是排除hivespark配置,以及版本衝突等緣由。您能夠查看隊列資源。

若是隊列資源達到100%,而且沒有釋放的空閒任務資源可在短期內建立Spark會話,則任務將失敗而且將引起此異常。

解決方案:將Hive客戶端的鏈接時間間隔增長到5分鐘;

設置hive.spark.client.server.connect.timeout = 300000;

該參數單位爲毫秒,默認值爲90秒。這裏不建議將該參數時間設置過大,由於這將影響做業運行時效。

參考

[1]cant use hive on spark engine cannot create client erorr code 30041[https://community.cloudera.com/t5/Support-Questions/cant-use-hive-on-spark-engine-cannot-create-client-erorr/td-p/240504]

[2]SemanticException Failed to get a spark session: org.apache.hadoop.hive.ql.metadata.HiveException: Failed to create Spark client for Spark session[https://issues.apache.org/jira/browse/SPARK-32345]

[3]0514-Hive On Spark沒法建立Spark Client問題分析[https://cloud.tencent.com/developer/article/1545722]

[4]hiveonspark不能建立sparksession緣由定位[http://blog.sina.com.cn/s/blog_6dd718930102z2un.html]

[5]Failed to create Spark client for Spark session[https://www.cnblogs.com/Sunqi-1997/p/13701837.html]

[6]FAILED: Execution Error, return code 30041 from org.apache.hadoop.hive.ql.exec.spark.SparkTask. Failed to create Spark client for Spark session 7f00ef43-d843-45f5-a425-0995818a608f_0: java.lang.RuntimeException: spark-submit process failed with exit code 1[https://www.itdiandi.net/view/1431]

[7]Hive on Spark[https://issues.apache.org/jira/browse/HIVE-7292]

相關文章
相關標籤/搜索