Flink:如何将额外的 JVM 选项传递给 TaskManager 和 JobManager [英] Flink: How to pass extra JVM options to TaskManager and JobManager

查看:28
本文介绍了Flink:如何将额外的 JVM 选项传递给 TaskManager 和 JobManager的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I am trying to submit flink job on yarn using below command:

/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,但是当应用程序提交到 Yarn 时,这些 Java 选项将不可用.由于额外的 JVM 选项不可用,应用程序在与 zookeeper 连接时抛出异常.

I got the env.java.opts on flink client log but when the application gets submitted to Yarn, these Java options wont be available. Due to unavailability of extra JVM options, application throws exception while connecting with zookeeper.

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

Please suggest, how to pass dynamic properties to JM & TM running on yarn.

注意:我尝试将 env.java.opts 选项设置为 conf/flink-conf.yaml 并且它工作正常.我需要通过 flink run 命令来设置这个选项.

Note: I tried to set env.java.opts options into conf/flink-conf.yaml and its working fine. I need a way to set this option through flink run command.

推荐答案

我认为你应该用 -yD env.java.opts 替换 -Denv.java.opts所以你的命令变成:

I think you should replace -Denv.java.opts by -yD env.java.opts so your command becomes:

/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"

这篇关于Flink:如何将额外的 JVM 选项传递给 TaskManager 和 JobManager的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆