更新时间:2024-06-12 GMT+08:00
Flink Client CLI介绍
常用CLI
Flink常用的CLI如下所示:
- yarn-session.sh
- 可以使用yarn-session.sh启动一个常驻的Flink集群,接受来自客户端提交的任务。启动一个有3个TaskManager实例的Flink集群示例如下:
bin/yarn-session.sh
- yarn-session.sh的其他参数可以通过以下命令获取:
bin/yarn-session.sh -help
- 可以使用yarn-session.sh启动一个常驻的Flink集群,接受来自客户端提交的任务。启动一个有3个TaskManager实例的Flink集群示例如下:
- Flink
- 使用flink命令可以提交Flink作业,作业既可以被提交到一个常驻的Flink集群上,也可以使用单机模式运行。
- 提交到常驻Flink集群上的一个示例如下:
bin/flink run ../examples/streaming/WindowJoin.jar
用户在用该命令提交任务前需要先用yarn-session启动Flink集群。
- 以yarn-cluster模式运行作业的一个示例如下:
bin/flink run -m yarn-cluster ../examples/streaming/WindowJoin.jar
通过参数-m yarn-cluster使作业以yarn-cluster模式运行,该模式为指定作业单独启动一个Flink集群来执行。
- 列出所有的作业(包含JobID):
bin/flink list
- 取消作业:
bin/flink cancel <JobID>
- 停止作业(仅流式作业):
bin/flink stop <JobID>
取消和停止作业的区别如下:
- 取消作业:执行“cancel”命令时,指定作业会立即收到cancel()方法调用ASAP。如果调用结束后作业仍然没有停止,Flink会定期开始中断执行线程直至作业停止。
- 停止作业:“stop”命令仅适用于Flink源(source)实现了StoppableFunction接口的作业。“stop”命令会等待所有资源都正确关闭。相比“cancel”命令,“stop”停止作业的方式更为优雅,但可能导致停止作业失败。
- 提交到常驻Flink集群上的一个示例如下:
- flink脚本的其他参数可以通过以下命令获取:
bin/flink --help
- 使用flink命令可以提交Flink作业,作业既可以被提交到一个常驻的Flink集群上,也可以使用单机模式运行。
注意事项
- 如果yarn-session.sh不使用-z配置特定的zookeeper的namespace,则在使用flink run时不要使用-yz指定特定的zookeeper的namespace。
bin/yarn-session.sh
bin/flink run examples/streaming/WindowJoin.jar
- 如果使用flink run -m yarn-cluster时启动集群则可以使用-yz指定一个zookeeper的namespace。
- 不能同时启动两个或两个以上的集群来共享一个namespace。
- 用户在启动集群或提交作业时如果使用了-z配置项,则在删除、停止及查询作业、触发savepoint时也要使用-z配置项指明namespace。
父主题: Flink常用API介绍