最近在Hive中使用Spark引擎进行执行时(set hive.execution.engine=spark),经常遇到return code 30041的报错,为了深入探究其原因,阅读了官方issue、相关博客进行了研究。下面从报错现象、原因分析、解决方案几个方面进行介绍,最后做一下小结。

(一)报错现象

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脚本即可解决,这让我十分疑惑。

(二)原因分析

相关博客列举了如下几个原因:

1、Spark没有正常启动

2、SparkHive版本不匹配

3、Hive连接Spark客户端超过设定时长

经过分析,我遇到的现象不属于1、2,集群上的Spark作业能正常运行,说明Spark是正常启动的;另外,由于设置了Hive On Spark的作业并非永久无法运行成功,而是偶发性失败,重试可成功执行,说明SparkHive的版本是匹配的,不存在版本冲突问题。

(三)解决方案

首先,根据mszurapRe: cant use hive on spark engine cannot create client erorr code 30041上的回答,首先前提是确保以下条件能得到满足:

1、在Hive服务>配置中已启用Spark服务作为依赖项
2、在Hive服务>配置中查看与Spark相关的设置
3、您在群集上有足够的资源,可以提交YARN作业

其次,如果以上条件均已满足,根据issues.apache.org/jira/browse/SPARK-32345ZhouDaHong的回答。

如果排除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]

hive on spark:return code 30041 Failed to create Spark client for Spark session原因分析及解决方案探寻的更多相关文章

  1. Spark On Yarn报警告信息 WARN yarn.Client: Neither spark.yarn.jars nor spark.yarn.archive is set, falling back to uploading libraries under SPARK_HOME.

    1 贴出完整日志信息 // :: INFO client.RMProxy: Connecting to ResourceManager at hdp1/ // :: INFO yarn.Client: ...

  2. FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:javax.jdo.JDODataStoreException: An exception was thrown while adding/validating class(es) :

    在hive命令行创建表时报错: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. ...

  3. FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(me

    FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(me ...

  4. hive遇到FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask错误

    hive遇到FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask错误 起因 ...

  5. FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. com/mongodb/util/JSON

    问题: 将MongoDB数据导入Hive,按照https://blog.csdn.net/thriving_fcl/article/details/51471248文章,在hive建外部表与mongo ...

  6. 解决hiveserver2报错:java.io.IOException: Job status not available - Error while processing statement: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask

    用户使用的sql: select count( distinct patient_id ) from argus.table_aa000612_641cd8ce_ceff_4ea0_9b27_0a3a ...

  7. Hive的Shell里hive> 执行操作时,出现FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask错误的解决办法(图文详解)

    不多说,直接上干货! 这个问题,得非 你的hive和hbase是不是同样都是CDH版本,还是一个是apache版本,一个是CDH版本. 问题详情 [kfk@bigdata-pro01 apache-h ...

  8. FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask

    hive启动后,出现以下异常 hive> show databases; FAILED: Error / failed on connection exception: java.net.Con ...

  9. java.sql.SQLException: Error while processing statement: FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask

    执行Hive查询: Console是这样报错的 java.sql.SQLException: Error from org.apache.hadoop.hive.ql.exec.mr.MapRedTa ...

随机推荐

  1. 第3.2节 Python列表简介

    鉴于Python中列表(list)的强大功能,本节及后面至少有一节都是介绍列表相关的知识,本节先介绍基本的列表知识. 一. 列表的定义 列表是一种可以修改的序列,它有点类似于c语言中的数组,在Pyth ...

  2. PyQt(Python+Qt)学习随笔:窗口的布局设置及访问

    老猿Python博文目录 老猿Python博客地址 在Qt Designer中,可以在一个窗体上拖拽左边的布局部件,在窗口中进行布局管理,但除了基于窗体之上进行布局之外,还需要窗体本身也进行布局管理才 ...

  3. PyQt(Python+Qt)学习随笔:QAbstractScrollArea的用途

    老猿Python博文目录 老猿Python博客地址 QAbstractScrollArea部件提供了一个带有按需滚动条的滚动区域. QAbstractScrollArea是滚动区域的低级抽象.该区域提 ...

  4. 关于RequestParam在不同的Spring版本上,接口在controller重载时注解可能失效的踩坑记录

    先抛背景: 我项目中的Spring版本是2.0.3.RELEASE. api-demo负责暴露接口,service-demo负责实现功能.接口参数的@RequestParam和@RequestBody ...

  5. dom 继承树

  6. swagger添加统一认证参数

    import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Co ...

  7. XML文件格式

    首行是需要对xml版本声明<?xml version="1.0" ecoding="UTF-8"?> 语言可根据需要修改 在编写xml的几个注意点 ...

  8. oracle 时间段查询

    <select id="selectByRzrq" resultMap="BaseResultMap" parameterType="java. ...

  9. ELK-Kibana汉化

    https://github.com/anbai-inc/Kibana_Hanization  补丁包 教程:1:首先,我们先杀死了Kibana进程,其实,教程说不用重启或关闭Kibana,但是,我们 ...

  10. 八、TestNG忽略测试

    一个TestNG  测试类中如果有的方法不想测试可以使用 enabled 属性 enabled = false  该方法不参与测试 enabled = true  该方法参与测试 @Test 不写en ...