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、相关博客进行了研究。下面从报错现象、原因分析、解决方案几个方面进行介绍,最后做一下小结。
(一)报错现象
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、Spark和Hive版本不匹配
3、Hive连接Spark客户端超过设定时长
经过分析,我遇到的现象不属于1、2,集群上的Spark作业能正常运行,说明Spark是正常启动的;另外,由于设置了Hive On Spark的作业并非永久无法运行成功,而是偶发性失败,重试可成功执行,说明Spark与Hive的版本是匹配的,不存在版本冲突问题。
(三)解决方案
首先,根据mszurap在Re: 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-32345中ZhouDaHong的回答。
如果排除hive、spark配置,以及版本冲突等原因。您可以查看队列资源。
如果队列资源达到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原因分析及解决方案探寻的更多相关文章
- 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: ...
- 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. ...
- 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 ...
- 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错误 起因 ...
- 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 ...
- 解决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 ...
- 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 ...
- 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 ...
- 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 ...
随机推荐
- 老猿学5G扫盲贴:中移动的5G计费架构中Nchf'服务化接口以及CHF中的AGF
专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 一.关于Nchf' 在中移动企标中出现了在3GPP ...
- PyQt(Python+Qt)学习随笔:调用disconnect进行信号连接断开时的信号签名与断开参数的匹配要求
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 在使用信号调用disconnect()方法断开信号和槽的连接时,信号可以带签名也可不带签名,参数可以 ...
- Hbase API 多条件查询
public static ResultScanner scan(String tableName, String family, List<String> columns, List&l ...
- C++中对一个布尔类型的变量按位取反结果不变
C++中对一个bool类型的变量按位取反是无效的.例如: bool a = true; bool b = ~a; // b的值还是true
- 微信小程序template和组件
template主要是展示,主要是在调用的页面中定义.用import方式引入,然后去使用,通常是单独建立一个文件夹 去管理,文件夹有两个文件wxml和wxss,wxml中 可以定义多个template ...
- Java PDF全套笔记
java 知识pdf文档,基本涵盖了java知识点 java基础部分:https://github.com/HOSystemH/JavaFile/tree/master/JavaPDF java高级部 ...
- MySQL(一):MySQL数据库事务与锁
基本概念 事务是指满足ACID特性的的一组操作,可以通过Commit提交事务,也可以也可以通过Rollback进行回滚.会存在中间态和一致性状态(也是真正在数据库表中存在的状态) ACID Atomi ...
- tengine下载和安装
tengine简介: Tengine所基于开发的Nginx的意思是Engine-X,Tengine在淘宝开发,所以我们把Engine-X中的X替换成Taobao.Tengine即Taobao-Engi ...
- 【Pyhton 】 装饰器
# -*- coding:utf8 -*-# Author : Mr·Yang''' 装饰器,带参数装饰器,装饰器中带参数''' import time# 普通装饰器'''def time_decor ...
- mycat配置MySQL主从读写分离
1.安装java 1.8 mycat 1.6要求的Java需要Java 1.8或1.8以上,安装Java参考以下链接: https://blog.csdn.net/weixin_43893397/ar ...