配置flink的环境变量
flink命令位于flink目录中的bin目录下, 经常使用的话可以把目录配置到环境变量中, 这样就可以在任何目录下直接使用flink命令。
mac中 打开: vim ~/.bash_profile 加入以下配置后使用source ~/.bash_profile让其生效。
#flink
export FLINK_HOME="/.../..../flink-1.6.2" # 你解压后的flink目录
export PATH="$FLINK_HOME/bin:$PATH"
flink命令参数
- 提交flink job: flink run
eg : flink run xxx.jar [可选参数]

-
查看flink job执行计划: flink info
eg : flink info xxx.jar [可选参数]
image.png
-
查看所有运行或者重启中的flink job:flink list

-
取消运行中的flink job : flink cancel
eg : flink cancel jobid
image.png
总结
Flink CLI格式 : ./flink <ACTION> [OPTIONS] [ARGUMENTS]

stop和cancel的区别
stop更优雅, cancel比较暴力。
stop和cancel虽然都是停止作业,但是两者实现是不一样的。使用cancel方法作业中的operator会立即接收到停止命令,来取消任务。如果operator没有取消任务,Flink开始定期中断线程,直到它停止。而stop是以一种更优雅的方式来停止作业,使用Stop停止作业,任务数据源需要实现StoppableFunction接口,这样当收到stop命令时,数据源首先停止发送数据,然后等待集群中的作业执行完成,最后正常停止作业。
网友评论