HiveOnSpark报错:Client ‘xxx‘ timed out waiting for connection from the Remote Spark Driver

今天群内看到一个hive on spark报错案例:

FAILED: Execution Error, return code 30041 from org.apache.hadoop.hive.ql.exec.spark.SparkTask. Failed to create Spark client for Spark session adecc1e7-9763-4d33-bf4d-7a1a8105af61_0: java.util.concurrent.TimeoutException: Client 'adecc1e7-9763-4d33-bf4d-7a1a8105af61_0' timed out waiting for connection from the Remote Spark Driver

并且这个连接超时是偶发的,即有时是可以执行成功的。详细报错情况如下图

经确认,hive确实已把默认计算引擎改为spark了,如下图:

 

内存设置虽不大,但数据量也不大哦,如下图:

经查,官网对Remote Spark Driver有三个参数:

 关于此三个参数,中文说明见:https://www.iteblog.com/archives/1541.html,但设置时发现:
hive.spark.client.connect.timeout和hive.spark.client.server.connect.timeout这两个参数(单位毫秒)不能动态修改 (若想修改,见下文),也就是若在脚本里面去修改这两个参数会报错。故只能在脚本里面修改  set hive.spark.client.future.timeout=200;(单位秒)。

为修改hive.spark.client.connect.timeout由默认值1000改为10000,下图仅需改动一处(至于到底是哪处,我忘记了,若您一个一个试出来后,请评论区指出):


另外,hive  on  spark官网介绍:需把这个spark-assembly.jar 拷贝到hive 的lib下,但在spark2.x 的lib 下并无此jar。而此jar在spark1.6中确实存在。

由于此文的环境为cdh6.3.0和cdh6.3.1,若是cdh5.1x.x中spark1.6环境下,则报错情况应为:Caused by: java.util.concurrent.ExecutionException: java.util.concurrent.TimeoutException: Timed out waiting for client connection.详情见:https://blog.csdn.net/hua_ed/article/details/79577229


小记:此文为群内讨论的内容所总结出来的,仅用于备查。

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值