我正在研究Flink 1.9.1的docker / k8s部署可能性。
我正在看[1] [2] [3] [4]。
目前,我们确实认为我们将尝试使用Job Cluster方法,尽管 我们想知道与此相关的社区趋势是什么?我们宁愿 每个Flink群集不能部署多个作业。
无论如何,我想知道几件事:
如何更改每个任务管理器的Job和 会话集群?就我而言,我在VirtualBox上运行docker,其中我有4个 分配给该机器的CPU。但是,每个任务管理器都会产生 作业群集只有一个任务槽。但是,使用会话群集 在同一台机器上,每个任务管理器都有4个任务槽。
在两种情况下,Flink的UI均显示每个任务管理器都有4个CPU。
如果使用作业集群,如何重新提交作业。我指的是这种用途 情况[5]。您可能会说,我必须重新开始工作,但要有所不同 论点。这样做的程序是什么?我正在使用检查点。
我应该杀死所有任务管理器容器,然后使用其他容器重新运行它们吗? 参数?
如何使用会话群集重新提交作业?
如何为Job / Session集群提供日志配置? 我有一种情况,其中我更改了log4j.properties中的日志级别和日志格式 这在本地(IDE)环境下工作正常。但是当我建立 胖子罐子,并基于该子罐运行作业集群,它接缝了我的log4j 属性不会传递给集群。我看到了原始格式, 原始(INFO)级别。
谢谢
[1] https://youtu.be/w721NI-mtAA
[2] https://youtu.be/WeHuTRwicSw
[3] https://ci.apache.org/projects/flink/flink-docs-stable/ops/deployment/docker.html
[4] https://github.com/apache/flink/blob/release-1.9/flink-container/docker/README.md
答案 0 :(得分:2)
虽然我们想知道社区趋势是什么,但我们确实认为我们将尝试采用工作聚类方法。我们宁愿每个Flink集群不部署一项以上的工作。
这个问题可能更适合用户邮件列表。
如何更改作业和会话群集的每个任务管理器的任务槽数量?
您可以通过配置选项taskmanager.numberOfTaskSlots
控制它如何使用会话群集重新提交作业?
对此进行了描述here。最重要的是,您可以创建一个保存点并从中恢复您的工作。也可以从retained checkpoints恢复作业。
如果使用作业集群,如何重新提交作业。
从概念上讲,这与从会话群集中的保存点恢复作业没有什么不同。您可以将保存点的路径指定为集群入口点的命令行参数。详细信息here。
如何为作业/会话群集提供日志配置?
如果您正在使用Flink二进制发行版的bin/
目录中的脚本来启动集群(例如bin/start-cluster.sh
,bin/jobmanager.sh
,bin/taskmanager.sh
等) ,您可以通过修改conf/log4j.properties
来更改log4j配置。日志记录配置作为系统变量传递到JobManager和TaskManager JVM(请参见bin/flink-daemon.sh
)。另请参阅Flink文档中的"How to use logging"章。