Session集群适用于非生产环境的开发测试环境,您可以使用Session集群模式部署或调试作业,提高作业JM(Job Manager)资源利用率和提高作业启动速度。
背景信息
Flink全托管支持Per-Job集群和Session集群两种集群模式。两种集群模式有以下区别:
- Per-Job集群(默认):作业之间资源隔离,每个作业都需要一个独立的JM,因为小任务JM的资源利用率较低,因此适用于占用资源比较大或持续稳定运行的作业。
- Session集群:多个作业可以复用相同的JM,可以提高JM资源利用率。但因为JM复用会使得作业间稳定性会相互影响,且Session集群无法提供单独作业的Metric和报警能力,因此适用于作业测试运行。
说明
- 每个项目空间可以配置多个Session集群,但只能选择一个Session集群开启SQL Preview 。该配置项的详细说明请参见本文参数解释中的设置为SQL Previews集群。
- 无论您是否使用Session集群,在创建Session集群时会消耗集群资源,其中消耗的资源和您创建集群时选择的资源配置有关。
- VVR 3.0.4及以下版本的每个Session集群运行后,都会额外消耗0.5 CU的资源。
使用限制
Session集群有以下限制:
- 不支持显示数据曲线。
- 不支持监控告警功能。
- 暂不支持开启自动调优功能。
注意事项
- Session集群作为开发测试环境,请勿将Session集群用于正式生产环境。如果将Session集群用于正式生产环境,会有以下业务稳定性问题:
- JobManager单点故障会对集群内的所有作业造成影响。
- TaskManager单点故障会对在其上有task运行的相关作业造成影响。
- 同一个TaskManager内部,不同Task之间如果没有进程隔离,则存在相互影响的潜在风险。
- 运行作业时,不建议作业的部署目标为打开了SQL Preview开关的Session集群。因为后续产品引擎版本升级会导致无法再使用当前版本的Session集群调试,如果更换Session集群的版本,则会影响您线上作业的运行。
Session集群如何打开SQL Preview开关如下图所示。
- 如果Session集群为默认配置,则有以下建议:
- 对于单并发的小作业,建议整个集群的作业总数不超过100个。
- 对于复杂作业,建议单作业最大并发数不超过512,64个并发的中等规模作业单集群不多于32个。否则可能会出现心跳超时等问题影响集群稳定性。此时,您需要增大心跳间隔和心跳超时时间。
- 如果您需要同时运行更多的任务,则需要增加Session集群的资源配置。