我正在运行一个Spark作业,写到一个有20个工作者的Alluxio集群(Alluxio 1.6.1)。由于alluxio.exception.status.DeadlineExceededException,Spark作业无法写入其输出。这名工人还活着,来自阿卢西奥WebUI。我怎样才能避免这种失败?
alluxio.exception.status.DeadlineExceededException: Timeout writing to WorkerNetAddress{host=spark-74-44.xxxx, rpcPort=51998, dataPort=51999, webPort=51997, domainSocketPath=} for request type: ALLUXIO_BLOCK
id: 3209355843338240
tier: 0
worker_group {
host: "spark6-64-156.xxxx"
rpc_port: 51998
data_port: 51999
web_port: 51997
socket_path: ""
}发布于 2018-11-16 03:07:00
此错误表示您的Spark作业在尝试向Alluxio工作线程写入数据时超时。worker可能处于高负载状态,或者与UFS的连接速度较慢。
默认超时时间为30秒。要增加超时,请在Spark端配置alluxio.user.network.netty.timeout。
例如,要将超时时间增加到5分钟,请使用spark-submit的--conf选项
$ spark-submit --conf 'spark.executor.extraJavaOptions=-Dalluxio.user.network.netty.timeout=5min' \
--conf 'spark.driver.extraJavaOptions=-Dalluxio.user.network.netty.timeout=5min' \
...还可以在spark-defaults.conf文件中设置这些属性,使其自动应用于所有作业。
来源:https://www.alluxio.org/docs/1.6/en/Configuration-Settings.html#spark-jobs
https://stackoverflow.com/questions/53325658
复制相似问题