Flink任务运行过程中出现报错“netty.exception.LocalTransportException”
问题现象
Flink任务运行过程中出现报错:netty.exception.LocalTransportException。
原因分析
网络抖动或者丢包。触发的原因是如下Task在向上下游算子进行Netty通信过程中出现了超时,在Task的通信过程中,由于Flink的Task之间走的是JDK底层的Socket通信,而Socket的读写也仅仅是调用了OS底层的接口。这样在超时后上报“IO EXCEPTION”或者“LocalTransPortException”。
根据历史经验,其中问题的根因都是网络因素导致。
- 网络抖动或者网络丢包。
- 网络带宽到达上限。
- 数据节点之间有网络异常。
除此之外开源社区也给出了一些关于这个报错的触发场景:
处理步骤
如果问题出现的不频繁,半年或者一年一次,可以不用关注。如果很频繁建议排查网络日志,建议业务可以将自动重启机制开启。例如在“flink-conf.xml”文件中将配置项“restart-strategy”设置为“failure-rate”。