我需要有关在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实例吗?
对不起,如果我将两件或更多件东西混在一起:(
感谢您的帮助。谢谢
答案 0 :(得分:0)
撇开一次语义的问题,解决此问题的一种方法是具有发出SQL查询的并行源函数(每个子任务一个)和执行查询的下游FlatMapFunction
(每个子任务一个)。然后,您的源就可以发送对查询的更新,而不必强迫您重新启动工作流程。