amazon-web-services - flink readCSV 被“org.apache.flink.fs.s3base.shaded.com.amazonaws.SdkClientException:Timeout waiting for connection from pool”抛出
问题描述
我们正在使用 Flink 1.9.0 Dataset API 从 Amazon S3 Bucket 读取 CSV 文件。大多数时候都面临连接池超时。以下是 Flink 级别的配置
一次从 s3 读取 19708 个对象,因为我们需要在整个数据集之上应用逻辑。举个例子:假设有 20 个源文件夹,例如(AAA、BBB、CCC)和多个子文件夹(AAA/4May2020/../../1.csv、AAA/4May2020/../../2.csv、 AAA/3May2020/../../1.csv ,AAA/3May2020/../../2.csv ....),为了读取发生,在调用 readCSV 之前,逻辑扫描文件夹并选择仅具有最新日期文件夹的文件夹并将其传递以供阅读。对于读取操作,我们使用并行度为“5”。但是当执行图形成时,所有 20 个源都聚集在一起。
在 Kube-Aws 上运行,大约 10 个任务管理器托管在“m5.4X 大型机器”下。任务管理器 docker 分配有“8”个内核和“50GB”内存。
以下试图解决这个问题,但到目前为止没有运气。真的需要一些指示和帮助来解决这个问题
- 启用 Flink 重试机制,将故障转移作为“区域”,有时重试可以通过。但即使重试,它也会间歇性地失败。
根据 AWS 站点重新访问 core-site.xml: fs.s3a.threads.max :3000, fs.s3a.connection.maximum :4500 任何人都可以帮助解决以下问题
无论如何要检查 readCSV 打开的 HTTP 连接是否
已关闭- 任何了解数据集 ReadCSV 如何操作的指针都会有所帮助。
- 有什么方法可以在读取之前引入等待机制?
- 任何更好的方法来解决这个问题
解决方案
推荐阅读
- xamarin - 如何从视图的 ViewModel 重新加载横幅广告?
- java - 使用 gson 解析 JSON - 解析时套接字关闭
- java - Java Final 类或私有构造函数
- amazon-web-services - 模板错误:无法获取 AWSAMIRegionMap::us-gov-west-1::US1604HVM 的映射
- php - 在 foreach 循环中不同。由于两个循环,结果很多
- r - 获取未采样的 id
- matlab - 使用 FFT 从 wav 文件中解码 DTMF
- javascript - React Router 问题:为什么 history.push 更改 url 但不更新组件
- reactjs - 无法使用 React 路由器 + express 获取 /songs/new
- javascript - vuex getter 触发“组件渲染函数中的无限更新循环”