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]

相关文章
相关标签/搜索