irpas技术客

Timed out waiting for Remote Spark Driver to connect to HiveServer2报错解决办法_tanhai

大大的周 3210

环境 :CDH 6.3.2 spark2.4.0 hive 2.1.1 背景:5月份进行集群迁移,升级CDH,调度工具换成Dolphin Scheduler,迁移后程序运行始终不稳定,发现一个非常常见的错误,如下图: 当时也看了针对报错,看了网上的解决方案,我们架构师改了影响spark连接超时的三个参数: hive.spark.client.server.connect.timeout=30000 hive.spark.client.connect.timeout=30000 hive.spark.client.future.timeout=300 修改完之后,问题仍然没有解决,就因为这个小bug,经常导致我们Dolphin Scheduler任务跑完了,hive分区中的数据没数,或者程序直接报错,虽然Dolphin Scheduler有重试功能,但是一直这样子下去,会让人感觉,这个hive on spark 不靠谱,不稳定,动不动就连接超时,重试还会增加任务运行时间。虽然解决不了,但是看着每天任务日志上几十几十的报错任务,心里也揪心,这个问题就不能彻底解决吗? 在某周三的上午,皱着眉头一直在想这个问题,整合网上的问题解决方案,对着日志沉思,究竟是哪里出了问题?在我细心的观察下,我发现了问题的关键,参数是设置了,但是设置错地方了! 打开cloudera managere,进入hive集群,点击配置页签,搜索hive-site.xml,如下图:

上图中看到,我们的集群中,在Hive(服务范围)配置了这3个参数,但是根本没有卵子用,该超时还是超时,然后我找到了架构师,说这块需要改一下,把那三个参数配置在Gateway Default Group那里去,保存,重启集群。 结果是第二天早上依赖,照常巡检Dolphin Scheduler任务,令人欣喜的是,0任务报错,0监控预警!打集群上线依赖,还是头一回,可以说是心情无比的激动。

总结:关于Timed out waiting for Remote Spark Driver to connect to HiveServer2 这个问题,有几个大神的博客里已经讲的很清楚了,但是大神只说了是这个参数影响的,没有说在哪里配置这个参数,导致配置不生效。这里说明一下细节,希望对遇到同样问题的人有所帮助。

参考文章: 1、https://blog.csdn.net/benpaodexiaowoniu/article/details/103872370 这个大神已经写的很详细了,我只是确认了参数配置在Gateway Default Group是绝对可以生效的 2、https://cloud.tencent.com/developer/news/841558 扒源码找超时原因,建议深度看一下,对了解hive on spark 大有裨益


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #timed #out #waiting #for #remote #spark #driver #To