Apache flink Flink:如何将额外的JVM选项传递给TaskManager和JobManager

Apache flink Flink:如何将额外的JVM选项传递给TaskManager和JobManager,apache-flink,flink-streaming,Apache Flink,Flink Streaming,我正在尝试使用以下命令提交有关纱线的flink作业: /usr/flink-1.3.2/bin/flink run -yd -yn 1 -ynm MyApp -ys 1 -yqu default -m yarn-cluster -c com.mycompany.Driver -j /usr/myapp.jar -Denv.java.opts="-Dzkconfig.parent /app-config_127.0.0.1 -Dzk.hosts localhost:2181 -Dsax.zooke

我正在尝试使用以下命令提交有关纱线的flink作业:

/usr/flink-1.3.2/bin/flink run -yd -yn 1 -ynm MyApp -ys 1 -yqu default -m yarn-cluster -c com.mycompany.Driver -j /usr/myapp.jar -Denv.java.opts="-Dzkconfig.parent /app-config_127.0.0.1 -Dzk.hosts localhost:2181 -Dsax.zookeeper.root /app"
我在flink客户端日志中获得了env.java.opts,但当应用程序提交到Thread时,这些java选项将不可用。由于额外的JVM选项不可用,应用程序在连接zookeeper时抛出异常

请建议,如何将动态特性传递给JM&TM在纱线上运行


注意:我试图将env.java.opts选项设置为conf/flink-conf.yaml,其工作正常。我需要一种通过flink run命令设置此选项的方法。

很抱歉响应太晚,但我相信您正在使用纱线,那么您通过-Dxxx=yyy设置的参数将转发到这在纱线中创建的JM/TMs。您尝试过这种方法吗?

我认为您应该将
-Denv.java.opts
替换为
-yD env.java.opts
,这样您的命令就变成:

/usr/flink-1.3.2/bin/flink run -yd -yn 1 -ynm MyApp -ys 1 -yqu default -m yarn-cluster -c com.mycompany.Driver -j /usr/myapp.jar -yD env.java.opts="-Dzkconfig.parent /app-config_127.0.0.1 -Dzk.hosts localhost:2181 -Dsax.zookeeper.root /app"