Flink 停止 job 的方式(stop 和 cancel)
1.Stop 方式
后边跟的任务id 是flink的任务ID,不是yarn的
flink stop -m 127.0.0.1:8081 357591171dfcca2eea09de
注:stop方式停止任务对 source 有要求,source必须实现了StopableFunction接口,才可以优雅的停止job
2. cancel 方式
取消任务。如果在 conf/flink-conf.yaml 里面配置了 state.savepoints.dir ,会保存savepoint,
否则不会保存 savepoint。
使用 命令方式
flink cancel -m 127.0.0.1:8081 357591171dfcca2eea09de
也可以在停止的时候显示指定 savepoint 目录
flink cancel -m 127.0.0.1:8081 -s /tmp/savepoint 357591171dfcca2eea09de
也可以通过 UI 界面 cancel
两者的区别
● cancel() 调用,立即调用作业算子的 cancel() 方法,以尽快取消它们。如果算子在接
到 cancel() 调用后没有停止,Flink 将开始定期中断算子线程的执行,直到所有算子停
止为止。
● stop() 调用,是更优雅的停止正在运行流作业的方式。stop() 仅适用于 source 实现了
StoppableFunction 接口的作业。当用户请求停止作业时,作业的所有 source 都将接
收 stop() 方法调用。直到所有 source 正常关闭时,作业才会正常结束。这种方式,使
作业正常处理完所有作业。
版权归原作者 GOD_WAR 所有, 如有侵权,请联系我们删除。