Spark大数据计算时出现“Channel空闲超时”

大数据计算时出现“Channel空闲超时”

现象描述

在10节点集群,30T数据量下,执行tpcds测试时,出现如下错误。

Connection to 10.10.10.1 has been quiet for 123450 ms while there are still 5 outstanding requests. Assuming connection is dead; please adjust spark.network.timeout if this is wrong.

可能原因

当Map Server繁忙时,Reduce Client发出请求,得不到响应。当等待时间超过一个阈值时,出现错误。默认的时间为120秒。

定位思路

无。

处理步骤

上述问题是在request个数很大时发生的,属于正常现象。解决措施有两种:

  • 将spark.shuffle.io.connectionTimeout参数调大。10节点、30T数据的TPCDS测试中设置为2000s,运行正常。此参数与spark.network.timeout配合使用,优先使用spark.shuffle.io.connectionTimeout参数设置的值。如果spark.shuffle.io.connectionTimeout未设置,则使用spark.network.timeout的参数值。
  • 调大spark.shuffle.io.serverThreads来解决,将此参数的值设置为core个数的两倍。

关注公众号“大模型全栈程序员”回复“小程序”获取1000个小程序打包源码。更多免费资源在http://www.gitweixin.com/?p=2627

发表评论

邮箱地址不会被公开。 必填项已用*标注