问题描述
这是交易;
我正在处理向运行集群(flink statefun 2.2.1)添加新工作程序(嵌入)。
如您所见,新的任务管理器可以注册到集群中;
但它不会初始化(它不会部署源代码);
我在这里错过了什么? (master 和 worker 也必须有相同的 jar 文件?或者用 jar 文件部署 taskmanager 就足够了)
任何帮助将不胜感激, 谢谢。
解决方法
Flink 支持两种不同的缩放方法:active 和 reactive。
Reactive mode 是 Flink 1.13(本周刚刚发布)中的新功能,按您的预期工作:添加(或删除)一个任务管理器,您的应用程序将适应新的并行性。你可以read about elastic scaling and reactive mode in the docs。 反应模式目前正在开发中,但可能需要您的需求。
概括地说,对于活动模式重新缩放,您需要:
- 执行 stop with savepoint 以关闭当前作业,同时对其状态进行快照。
- 使用新的并行性重新启动 using the savepoint as the starting point。
具体细节取决于集群的部署方式。
有关分步教程,请参阅 Upgrading & Rescaling a Job 中的 Flink Operations Playground。
以上适用于重新缩放 statefun 嵌入式函数。由于是无状态的,远程函数可以更直接地重新缩放。