当前位置: 首页 > 知识库问答 >
问题:

使用flink/kubernetes替换etl作业(在SSI上):每个作业类型一个flink集群,或者每个作业执行创建和销毁flink集群

卫兴邦
2023-03-14

我正在尝试将使用SSIS包创建的数百个feed文件ETL作业替换为apache flink作业(并将kuberentes作为底层infra)的可行性。我在一些文章中看到的一条建议是“为一种工作使用一个flink集群”。

由于我每天都有少量的每种工作类型的工作,那么这意味着对我来说最好的方法是在执行工作时动态创建flinkcluster并销毁它以释放资源,这是正确的方法吗?我正在建立flinkcluster,没有工作经理。

关于使用flink进行批量ETL活动的最佳实践的任何建议。

可能是最重要的问题:flink是问题陈述的正确解决方案,还是我应该更深入Talend和其他经典ETL工具?

共有1个答案

韩欣怿
2023-03-14

Flink非常适合运行ETL工作负载。这两种部署模式为您提供以下属性:

会话集群允许在同一组资源(TaskExecors)上运行多个作业。您在提交任何资源之前启动会话集群。

  • 提交作业时无需额外的群集部署时间=
  • 作业之间没有严格隔离

每个作业群集为每个作业启动一个专用Flink群集。

  • 严格的工作隔离
  • 由于只有一个作业在TaskExecutors上运行,因此资源消耗更可预测
  • 集群部署时间是作业提交时间的一部分,导致提交时间更长
  • 没有一个集群控制您的所有作业

因此,如果您有许多需要快速响应的短期ETL作业,那么我建议使用会话集群,因为您可以避免每个作业的集群启动时间。如果ETL作业的运行时间很长,那么这个额外的时间将没有任何权重,我会选择每个作业模式,因为严格的作业隔离,它为您提供更可预测的运行时行为。

 类似资料:
  • 我们的团队在我们的K8S集群中设置了Flink会话集群。我们选择Flink会话集群而不是作业集群,因为我们有许多不同的Flink作业,因此我们希望将Flink的开发和部署与我们的作业分离。我们的Flink设置包含: 单个JobManager作为K8S吊舱,无高可用性(HA)设置 我们在一个单独的存储库中开发工作,并在代码合并时部署到Flink集群。 现在,我们注意到在K8S中作为pod的JobMa

  • 我正在kubernetes上试用最新版本的Flink1.5的flink工作。 我的问题是如何在上面的flink集群上运行一个示例应用程序。flink示例项目提供了如何使用flink应用程序构建docker映像并将该应用程序提交给flink的信息。我遵循了这个例子,只是把flink的版本改成了最新版本。我发现应用程序(example-app)提交成功,并且在kubernetes的pod中显示,但是f

  • 我们目前正在kubernetes上运行flink,作为使用这个helm模板的作业集群:https://github.com/docker-flink/examples/tree/master/helm/flink(带有一些添加的配置)。 如果我想关闭集群,重新部署新映像(由于应用程序代码更新)并重新启动,我将如何从保存点进行恢复? jobManager命令严格设置在standalone-job.s

  • 我有一个Flink 1.2集群的设置,由3个JobManager1和2个TaskManager1组成。我从JobManager1开始动物园管理员法定人数,我得到确认,动物园管理员开始其他2个JobManager1,然后我在这个JobManager1上开始一个Flink作业。 flink-conf.yaml在所有5个虚拟机上都是相同的,这意味着jobmanager。rpc。地址:指向各处的JobMa

  • 我正在研究Flink 1.9.1的docker/k8s部署可能性。 我看完了[1][2][3][4]。 目前,我们确实认为,我们将尝试采用工作集群方法,尽管我们想知道社区的这一趋势是什么?我们不希望每个Flink集群部署多个作业。 不管怎样,我想知道一些事情: > 在这两种情况下,Flink的UI都显示每个任务管理器有4个CPU。 如果使用作业群集,如何重新提交作业。我指的是这个用例。你可能会说我

  • Kafka主题之一和HDFS,它们都需要单独的Kerberos身份验证(因为它们属于完全不同的集群)。 我的问题是: 可能吗(如果可能,怎么可能?)在服务器上运行的Flink集群上使用来自Flink作业的两个Kerberos keytabs(一个用于Kafka,另一个用于HDFS)?(因此Flink作业可以使用Kafka主题,同时写入HDFS) 如果不可能,当Kafka和HDFS都受Kerbero