gpt4 book ai didi

kubernetes - K8S上的Flink:如何为群集提供Flink配置?

转载 作者:行者123 更新时间:2023-12-02 11:36:58 24 4
gpt4 key购买 nike

我正在按照Flink Kubernetes Setup创建集群,但不清楚如何为该集群提供Flink configuration?例如,我要指定jobmanager.heap.size=2048m

最佳答案

根据文档,所有配置都必须通过yaml配置文件进行传递。

似乎jobmanager.heap.size是可以配置的常见选项。

话虽这么说,但在提供此配置文件时,使用kubernetes的方法却有所不同。

下一个难题是弄清楚您要启动的容器的当前启动命令是什么。我以为您使用的official flink docker image很好,因为Dockerfile是开源的(链接到底部的repo)。他们使用一个复杂的脚本来启动flink容器,但是如果您深入研究该脚本,您会发现它正在从/opt/flink/conf/flink-conf.yaml读取配置yaml。与其尝试更改它,不如将yaml文件挂载到具有您的配置值的容器中的确切路径上,可能会更容易。

这是github repo that has these Dockerfiles for reference

下一个问题是yaml文件应该是什么样的?
从他们的文档:

All configuration is done in conf/flink-conf.yaml, which is expected to be a flat collection of YAML key value pairs with format key: value.



因此,我想您将使用以下内容创建 flink-conf.yaml:
jobmanager.heap.size: 2048m

然后将其安装在 /opt/flink/conf/flink-conf.yaml的kubernetes容器中,它应该可以工作。

从kubernetes的 Angular 来看,为该yaml文件创建configmap并将该配置映射作为文件安装在pod中可能是最有意义的。 See reference docs

具体来说,您对 creating a configmap from a fileAdding a config map as a volume最感兴趣

最后,我会指出这一点,但我不建议这样做,因为flink的所有者目前已将其标记为一个孵化功能,他们已经开始提供 helm chart for Flink,并且我可以看到他们正在将 flink-conf.yaml传递为 helm chart templates中的配置映射(忽略 {{ }}包围的值-这是 Helm 模板语法)。他们在这里 mount their config map into a pod

关于kubernetes - K8S上的Flink:如何为群集提供Flink配置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57485387/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com