如何解决Flink-在Kubernetes上部署Flink应用程序的多个实例
我需要有关在K8上部署Flink应用程序的帮助
我们有3个源将以SQL查询的形式发送触发条件。总查询量约为3-6k,实际上对flink实例而言是沉重的负担。我尝试执行,但是速度很慢,并且需要很多时间才能开始。
由于大量查询,我们决定为每个源创建多个flink应用实例。因此,一个有效的flink实例将仅执行约1-2K查询。
示例:sql查询源为A,B,C
Flink实例:
应用A->仅负责处理源A查询
应用B->仅负责处理源B查询
App C->仅负责处理源C查询
我想在Kubernetes上部署这些实例
问题:
a)是否可以部署带有迷你集群(内置)的独立flink jar?就像刚刚启动main方法一样:Java -cp mainMethod(sourceName是命令行参数A / B / C)。
b)如果k8的一个pod或flink实例出现故障,那么我们如何在另一个pod或另一个flink实例中对其进行管理?可以将工作交给其他Pod或其他flink实例吗?
对不起,如果我将两件或更多件东西混在一起:(
感谢您的帮助。谢谢
解决方法
撇开一次语义的问题,解决此问题的一种方法是具有发出SQL查询的并行源函数(每个子任务一个)和执行查询的下游FlatMapFunction
(每个子任务一个)。然后,您的源就可以发送对查询的更新,而不必强迫您重新启动工作流程。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。