如何在应用程序模式中将java参数传递给Flink作业工件

如何在应用程序模式中将java参数传递给Flink作业工件,java,kubernetes,apache-flink,Java,Kubernetes,Apache Flink,我只是将Flink从1.10版升级到1.11版。在1.11中,Flink提供了新功能,用户可以在Kubernetes上以应用程序模式部署作业。 在V1.10中,我们启动Flink K8s集群,然后通过运行将作业提交给Flink exec ./bin/flink run \ -d \ /streakerflink_deploy.jar \ --arg1 blablabla --arg2 blablabla --arg3 blablabla ... 我们通

我只是将Flink从1.10版升级到1.11版。在1.11中,Flink提供了新功能,用户可以在Kubernetes上以应用程序模式部署作业。

在V1.10中,我们启动Flink K8s集群,然后通过运行将作业提交给Flink

exec ./bin/flink run \
  -d \
  /streakerflink_deploy.jar \
    --arg1 blablabla
    --arg2 blablabla
    --arg3 blablabla
    ...
我们通过这个命令传递java参数

但是,在V1.11中,如果运行应用程序模式,则不需要运行上面的
flink run
命令。我想知道如何在应用程序模式(又称作业集群)中将参数传递给Flink作业


任何帮助都将不胜感激

中描述了Flink在Kubernetes上的应用模式。您必须创建一个包含作业的Docker映像。作业可以使用文档中描述的
/bin/flink run application[…]
执行。

由于您使用helm chart在Kubernetes(又名K8s)上启动flink群集,我假设您正在谈论独立K8s模式。实际上,应用程序模式与1.10及之前版本中的作业集群非常相似。 因此,您可以在
jobmanager job.yaml
args
字段中设置作业参数,如下所示

...
args: ["standalone-job", "--job-classname", "org.apache.flink.streaming.examples.join.WindowJoin", "--windowSize", "3000", "--rate", "100"]
...
如果您真正指的是原生K8s模式,那么可以直接将其添加到
flink run应用程序
命令之后

$ ./bin/flink run-application -p 8 -t kubernetes-application \
  -Dkubernetes.cluster-id=<ClusterId> \
  -Dtaskmanager.memory.process.size=4096m \
  -Dkubernetes.taskmanager.cpu=2 \
  -Dtaskmanager.numberOfTaskSlots=4 \
  -Dkubernetes.container.image=<CustomImageName> \
  local:///opt/flink/examples/streaming/WindowJoin.jar \
  --windowSize 3000 --rate 100
$./bin/flink运行应用程序-p8-t kubernetes应用程序\
-Dkubernetes.cluster id=\
-Dtaskmanager.memory.process.size=4096m\
-Dkubernetes.taskmanager.cpu=2\
-Dtaskmanager.numberOfTaskSlots=4\
-Dkubernetes.container.image=\
local:///opt/flink/examples/streaming/WindowJoin.jar \
--WindowsSize 3000--速率100
注:
请记住,独立K8s和本机K8s模式之间的关键区别在于动态资源分配。在本机模式下,我们有一个嵌入式K8s客户端,因此Flink JobManager可以根据需要分配/发布TaskManager吊舱。目前,本机模式只能在Flink命令中使用(
kubernetes session.sh
Flink运行应用程序
)。

我看到了。但我用舵图来启动库伯内特斯星系团。我在opt/flink/usrlib中打包了job.jar。我不知道如何在这种方法中传递论点。我想,杨旺的回答可能会有所帮助。否则,你能详细说明你想要达到的目标吗?