容器云中flink类型的大数据存储方式?

flink任务在容器云集群中运行时,需要将一部分数据放在容器中处理,如果放在本地盘可能会将文件系统占满,影响到其他容器的运行;如果存算分离,可能IO不能满足需求。建议采用哪种方式?

参与6

2同行回答

dean25dean25课题专家组软件架构设计师民生银行
一般需要为计算节点配置单独的shaffle本地盘, 同时通过调度算发,让数据密集型作业尽可能分散到不同的节点,确保不出现存储热点节点。 同时也可以增加作业的内存配置和数量,减少spill到本地的文件数量,减少存储开销。...显示全部

一般需要为计算节点配置单独的shaffle本地盘, 同时通过调度算发,让数据密集型作业尽可能分散到不同的节点,确保不出现存储热点节点。 同时也可以增加作业的内存配置和数量,减少spill到本地的文件数量,减少存储开销。

收起
银行 · 2024-04-28
浏览130
强哥之神强哥之神架构师&技术经理上汽集团云计算中心
这个需要结合Flink任务的需求和集群实际情况,来选择存储方式,我们可以结合本地存储、持久卷和高速分布式存储,以满足不同阶段和任务的需求。例如,临时数据和中间结果可以使用本地存储,高频访问数据可以放在内存存储,持久化数据则放在分布式存储 。 比如,在高IO需求的短期任务中...显示全部

这个需要结合Flink任务的需求和集群实际情况,来选择存储方式,我们可以结合本地存储、持久卷和高速分布式存储,以满足不同阶段和任务的需求。例如,临时数据和中间结果可以使用本地存储,高频访问数据可以放在内存存储,持久化数据则放在分布式存储 。

比如,在高IO需求的短期任务中使用本地存储,而对于需要持久化的长期任务使用持久卷。
还可以进行分层存储,这样可以利用内存存储(我们平台是用的是Alluxio)进行缓存,结合持久卷提供底层持久化存储,以优化IO性能。

如果以上都不想,那么最直接的办法就是使用K8S的节点亲和性、资源请求和限制,确保Flink任务调度到具有足够本地存储和资源的节点上。

收起
互联网服务 · 1天前
浏览12

ChatGPT 回答

针对这种情况,建议采用分布式文件系统来解决数据存储问题。分布式文件系统可以将数据分散存储在多个节点上,避免单个节点存储过多数据,导致文件系统占满的问题。同时,分布式文件系统可以提供高可用性和容错性,保证数据的安全性和可靠性。

在容器云集群中,可以选择使用Kubernetes来管理容器,使用Flink来处理数据。可以将分布式文件系统作为数据存储的后端,通过Kubernetes的Volume插件将分布式文件系统挂载到Flink任务的容器中,实现数据的共享和访问。

此外,还可以考虑使用Flink的StateBackend来进行状态管理,将状态存储在分布式文件系统中,实现状态的共享和访问。这样可以避免将状态存储在本地盘中,导致文件系统占满的问题。

总之,采用分布式文件系统来解决数据存储问题是比较可行的方案,可以提高数据的可靠性和可用性,同时避免文件系统占满的问题。

提问者

starsky
系统运维工程师中原银行
擅长领域: 云计算容器云容器

问题来自

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2024-04-23
  • 关注会员:3 人
  • 问题浏览:599
  • 最近回答:1天前
  • X社区推广