为了学习目的,我正在构建一个简单的数据管道。我有来自Kafka的实时数据,我想使用Flink进行一些转换。
不幸的是,我不确定我是否正确地理解了部署选项。在Flink文档中,我找到了关于Docker组成和应用模式的部分。它说,我只能将一个作业部署到Flink:
Flink应用程序群集是运行单个作业的专用群集。在这种情况下,您可以将作业部署到集群中,这样就不需要额外的作业提交了。 作业工件包含在容器内Flink的JVM进程的类路径中,包括:
要使用Docker为单个作业部署集群,您需要
另一方面,我在github上找到了使用flink-java工件的示例,而没有运行任何码头映像。
有什么区别,为什么在Flink文档中没有提到第二个选项?
另外,是否可以将Flink作业部署为单独的码头映像?
发布于 2022-01-08 22:05:11
我建议你看看解除对Flink部署的了解。
https://nightlies.apache.org/flink/flink-docs-stable/docs/deployment/overview/也给出了一个很好的概述。
如果您有兴趣建立一个独立的集群(没有Docker、Kubernetes或see ),请参阅https://nightlies.apache.org/flink/flink-docs-stable/docs/deployment/resource-providers/standalone/overview/。
另外,是否可以将Flink作业部署为单独的码头映像?
我不知道如何解释这个问题。您是在问Flink客户端是否可以在运行作业的Flink集群中单独运行?您可以对会话集群进行编辑,并将作业从它外部提交到该集群中。您可以在https://github.com/apache/flink-playgrounds/blob/master/operations-playground/docker-compose.yaml中找到这方面的一个例子。(顺便说一下,操场是一个很好的资源。)
另一种方法构建一个映像,该映像可以作为作业管理器或任务管理器运行,flink客户端及其所有依赖项都内置在该映像中。这种方法在kubernetes/#应用程序模式中进行了描述。
值得注意的是,许多人并没有直接这么做,而是依赖于更高级别管理容器化Flink部署的平台。
https://stackoverflow.com/questions/70636512
复制相似问题