我首先使用Flink“应用程序”模式声明了一个作业,然后尝试使用Flink REST API在该集群上上传jar。上传jar API返回404 Not Found错误。Flink REST API只适用于会话模式,不支持应用程序/每个作业模式
{ "errors": [ "Not found: /jars/upload" ] }
lmyy7pcs1#
您可以使用flink命令行在应用程序模式下提交作业。
$ ./bin/flink run-application \ --target kubernetes-application \ -Dkubernetes.cluster-id=my-first-application-cluster \ -Dkubernetes.container.image.ref=custom-image-name \ local:///opt/flink/usrlib/my-flink-job.jar
您应该指定kubernetes-application目标和集群ID。会话模式命令也是:
kubernetes-application
# (1) Start Kubernetes session $ ./bin/kubernetes-session.sh -Dkubernetes.cluster-id=my-first-flink-cluster # (2) Submit example job $ ./bin/flink run \ --target kubernetes-session \ -Dkubernetes.cluster-id=my-first-flink-cluster \ ./examples/streaming/TopSpeedWindowing.jar # (3) Stop Kubernetes session by deleting cluster deployment $ kubectl delete deployment/my-first-flink-cluster
Rest API最初是为monitor设计的,现在不支持在应用模式下提交flink作业,请求url是这样的:{{cluster_address}}/jars/xxx.jar/run .当你通过rest API提交一个作业时,它假设你已经启动了Kubernetes会话,并且集群地址在url中是固定的,在会话模式下提交一个作业是类似的。
{{cluster_address}}/jars/xxx.jar/run
1条答案
按热度按时间lmyy7pcs1#
您可以使用flink命令行在应用程序模式下提交作业。
您应该指定
kubernetes-application
目标和集群ID。会话模式命令也是:
Rest API最初是为monitor设计的,现在不支持在应用模式下提交flink作业,请求url是这样的:
{{cluster_address}}/jars/xxx.jar/run
.当你通过rest API提交一个作业时,它假设你已经启动了Kubernetes会话,并且集群地址在url中是固定的,在会话模式下提交一个作业是类似的。