apache flink:aws s3从保存点启动作业时出现超时异常

u4dcyp6a  于 2021-06-21  发布在  Flink
关注(0)|答案(3)|浏览(588)

我在一个Map操作员那里有一份很大的工作。我们正在将存储容量约为80gb的savepoint存储到awss3。这个操作符大约有100个并行度。然而,当我们从保存点恢复时,总会出现类似这样的异常
原因:java.io.interruptedioexception:未能在s3a://adshonor-data-cube-test-apse1/ubfk/flink/savepoints/logjoin/savepoint-a9600e-39fd2cc07076/f9a31490-461a-42f3-88be-ec169145c35f上的0打开s3a://x/ubfk/flink/savepoints/logjoin/savepoint-a9600e-39fd2cc07076/f9a31490-461a-42f3-88be-ec169145c35f:org.apache.flink.fs.s3base.shaded.com.amazonaws.sdkclientexception:无法执行http请求:等待来自池的连接超时。
是否有配置参数以增加flink中aws s3的超时设置,或以其他方式避免此错误?

gv8xihay

gv8xihay1#

尝试设置 fs.s3a.connection.maximum 50或100左右

xfb7svmp

xfb7svmp2#

因为flink使用aws连接代码,所以bump的设置是 fs.s3.maxConnections ,这与纯hadoop配置不同。
在aws emr上运行时,可以参考以下文档:https://aws.amazon.com/cn/premiumsupport/knowledge-center/emr-timeout-connection-wait/

twh00eeo

twh00eeo3#

请详细说明一下steve所说的…问题很可能是所使用的http客户端没有足够大的“连接池”。
作为单个用户,每个与单个bucket交互的s3a客户机都有自己的专用openhttp1.1连接池,以及用于上载和复制操作的线程池。默认池大小旨在平衡性能和内存/线程使用。
对于您可以调整的内容的良好概述(包括 fs.s3a.connection.max 请参阅本hadoop页面的“优化选项”部分。

相关问题