flink 取消job脚本

316 阅读1分钟

一个可以根据jobid、jobname、或者一键取消所有正在运行的flink job的脚本。

使用方式如下 . test.sh jobname flink-job

#!/bin/bash
case $1 in
"all")
  cd /opt/module/flink-1.15.2
  line=`./bin/flink list -r | wc -l`
  line=$(($line-1))
  echo "===========取消flink-1.15.2集群的所有job=============="
  ./bin/flink list -r | sed -n '3,'"$line"'p' | awk '{print $4}' | while read rows
  do
    ./bin/flink cancel $rows
  done
;;
"jobid")
  echo "===========取消jobid为${2}的flink任务================="
  cd /opt/module/flink-1.15.2
  ./bin/flink cancel $2
;;
"jobname")
  echo "===========取消jobname为${2}的flink任务================="
  cd /opt/module/flink-1.15.2
  jobid=`./bin/flink list -r | awk '$6=="'"$2"'"' | awk '{print $4}'`
  ./bin/flink cancel $jobid
;;
*)
  echo "请传递正确的参数.."
;;
esac