即使在PerJob部署模式下完成作业执行后,TaskManager仍处于启动状态

时间:2020-08-10 07:32:56

标签: apache-flink flink-streaming

我正在尝试使用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仍在运行,这是不期望的。

是否需要添加任何配置以退出JobManagerTaskManger

版本:

Flink - 1.11.0

Java - 1.8

1 个答案:

答案 0 :(得分:0)

在此处与Flink团队联系discussion

简而言之,在诸如独立作业/手动启动的k8s集群之类的外部管理系统中,必须明确终止任务管理器,否则实例将在超时期限后终止。

在本机k8s部署中,任务管理器会按预期迅速终止。