Flink Application部署模式下能否使用REST API?上传Jar报404咨询
问题描述
我先以Flink "Application"模式启动了一个作业,随后尝试使用Flink REST API向该集群上传Jar包,但上传Jar的API返回404 Not Found错误。请问Flink REST API是否仅支持Session模式,而不支持Application/Per Job模式?
返回的错误响应如下:
{ "errors": [ "Not found: /jars/upload" ] }
解答
是的,Flink的/jars/upload这类Jar包管理相关的REST API仅在Session模式下可用,Application模式和Per-Job模式并不支持这类操作。
核心原因在于不同模式的集群定位差异:
- Session模式是长期运行的共享集群,需要支持多作业提交、Jar包管理等动态操作,因此REST API提供了完整的Jar上传、作业提交等接口。
- Application模式与Per-Job模式都是为单个作业构建的专属集群:
- Per-Job模式会为每个作业启动独立集群,作业结束后集群随即终止,作业所需Jar包在启动时就已指定,无需后续上传操作。
- Application模式将整个应用作为集群入口,集群生命周期与应用完全绑定,所有依赖Jar包在启动阶段就已加载完成,没有后续上传Jar包的场景需求。
若要在Application/Per-Job模式下运行新作业,需重新启动一个新的集群实例,并指定对应作业的Jar包。
内容的提问来源于stack exchange,提问作者priyadhingra19
相关产品推荐
相关产品推荐

