flink1.12.x flink cancel停止flink任务命令

介绍

在 Flink On YARN Per-Job 集群模式下,flink cancel 是官方推荐的任务优雅关闭命令,可以安全终止流式/批处理作业,并正常释放 YARN 资源。
不同于 yarn application -kill 暴力杀掉容器,flink cancel 会通知 Flink 作业正常退出,是企业生产环境标准关闭方式之一。

Per-Job 模式

  • 一个 Flink 任务 = 一个 YARN Application
  • 任务运行在 YARN 远端,不在本地
  • 直接使用 flink cancel <jobId> 无法找到任务
  • 必须指定目标集群为 YARN

正确命令格式

标准 cancel 命令(企业通用)

flink cancel -m yarn-cluster -yid <ApplicationID> <JobID>

参数说明:

  • -m yarn-cluster:指定目标为 YARN 集群
  • -yid <ApplicationID>:指定 YARN 应用 ID(必须)
  • <JobID>:Flink 任务 ID

例子

yarn web页面方式

访问yarn web 网页 http://hadoop2:8088/

命令方式
yarn application -list

执行结果如下图:

红框1、2、3表示正在运行的flink任务的 yarn id

提交任务的窗口,如下图:

命令查看
flink list -m yarn-cluster -r -yid application_1776496927536_0008

关于该命令详见 链接

执行结果:

红框处是任务id

执行 cancel 关闭任务

flink cancel -m yarn-cluster -yid application_1776496927536_0005 072133fdc47c521dd2a94bc11e9b647f

执行结果如下图,说明成功停止:

总结

  • Per-Job 模式下 flink cancel 必须指定 -m yarn-cluster -yid
  • 这是生产环境优雅、规范的关闭方式
  • 客户端断开、JobID 失效时,统一使用 yarn application -kill
  • 合理使用 cancel 可保证任务安全退出、资源及时释放、不影响其他业务

原文出处:/show_1IX49kuHXobu.html