项目场景:
flink写doris 批量任务报错: flink caught when processing request to {}->http://xxxx:8040 Broken pipe (Write failed)
问题描述
`
flink-sql写doris 批量任务一直都是跑成功的,突然报错某一天报错: flink caught when processing request to {}->http://xxxx:8040 Broken pipe (Write failed)
并且加大内存 并发等参数 都没有解决。
原因分析:
找到以下相关文章:
2024-03-11 09:01:30,985 INFO org.apache.http.impl.execchain.RetryExec [] - I/O exception (java.net.SocketException) caught when processing request to {}->http://10.0.1.46:8040: Broken pipe (Write failed)
This should be because the streamload connection is disconnected. You can try to increase the streamload timeout time streaming_load_max_mb and streaming_load_max_mb
大致意思是调整doris 相关参数streaming_load_max_mb 和timeout相关参数
解决方案:
doris be 调整参数,加大一次性导入的数据量限制,需要重启be组件 fe不用重启
streaming_load_max_mb=40960
表示最大load 一次性写入的数据量是40960M,40G
这个参数默认值是10G flink计算后的数据量 汇总导入的数据量如果超过10G 就得调整这个参数 或者调整sql flink参数都行
原文章