【发布时间】:2018-03-26 09:38:35
【问题描述】:
有一个使用类型安全配置的 Flink 项目,当我尝试使用命令 flink run xxxx.jar -Dconfig=XXXX -Dus=XXXX... 在独立集群中运行该项目时,我发现 JVM 选项(这里是 config 和 us) 无法正确识别。通常,它应该替换application.conf中对应键的值XXXX。
【问题讨论】:
-
如何访问配置?请记住,flink 以分布式方式工作。因此,如果你想使用类型安全,你可以在提交到集群之前读取它并存储到一些可序列化的对象中。
-
@DawidWysakowicz 嘿,我有一个
application.conf,程序可以从中读取数据,它已经被序列化了,我的问题是有一些数据(例如,密码),我不写它直接在文件中,所以我想在-D的帮助下通过jvm选项传递它,但显然,Flink无法在独立集群中接收它 -
我了解它是如何工作的,但据我所知,类型安全配置会在您调用
Config.load时读取文件。如果您在 TaskManager 上执行此操作,例如在MapFunction中,它不再有权访问客户端的系统属性。 -
@DawidWysakowicz 嘿,Dawid,我想我找到了一个有趣的点,现在,Flink 仅在带有选项
-yD <arg>的 YARN 集群上支持动态 JVM 参数,而不是在独立集群上。跨度> -
@DawidWysakowicz 我认为,用于访问TaskManager中的系统属性,不会涉及,因为它不接收这些属性
标签: apache-flink typesafe-config