我正在尝试使用docker-compose进行Flink每作业部署。
配置:
version: "2.2"
jobs:
jobmanager:
build: ./
image: flink_local:1.1
ports:
- "8081:8081"
command: standalone-job --job-classname com.organization.BatchJob
environment:
- |
FLINK_PROPERTIES=
jobmanager.rpc.address: jobmanager
parallelism.default: 2
taskmanager:
image: flink_local:1.1
depends_on:
- jobmanager
command: taskmanager
scale: 1
environment:
- |
FLINK_PROPERTIES=
jobmanager.rpc.address: jobmanager
taskmanager.numberOfTaskSlots: 2
parallelism.default: 2
使用job.jar扩展了Flink图像,作业成功执行。
JobManager
在作业完成后退出,但是TaskManager
仍在运行,这是不期望的。
是否需要添加任何配置以退出JobManager
和TaskManger
?
版本:
Flink - 1.11.0
Java - 1.8
答案 0 :(得分:0)
在此处与Flink团队联系discussion。
简而言之,在诸如独立作业/手动启动的k8s集群之类的外部管理系统中,必须明确终止任务管理器,否则实例将在超时期限后终止。
在本机k8s部署中,任务管理器会按预期迅速终止。