我想在我的作业中添加一个 JVM 选项。所以我在 flink-conf.yml 中添加了以下行:
env.java.opts: "-Dspring.config.location=/root/application.properties"
当我使用命令 ./start-local.sh
启动 flink 时,我的 JVM 选项在作业管理器和任务管理器中加载得很好:
org.apache.flink.runtime.jobmanager.JobManager - JVM Options:
org.apache.flink.runtime.jobmanager.JobManager - -Xms2048m
org.apache.flink.runtime.jobmanager.JobManager - -Xmx2048m
org.apache.flink.runtime.jobmanager.JobManager - -Dspring.config.location=/root/application.properties
org.apache.flink.runtime.jobmanager.JobManager - -Dlog.file=/sicdbgagrv2/flink-1.4.0/log/flink-root-jobmanager-1-sic-dbg-agrv2.log
org.apache.flink.runtime.jobmanager.JobManager - -Dlog4j.configuration=file:/sicdbgagrv2/flink-1.4.0/conf/log4j.properties
org.apache.flink.runtime.jobmanager.JobManager - -Dlogback.configurationFile=file:/sicdbgagrv2/flink-1.4.0/conf/logback.xml
org.apache.flink.runtime.taskmanager.TaskManager - JVM Options:
org.apache.flink.runtime.taskmanager.TaskManager - -Xms1024M
org.apache.flink.runtime.taskmanager.TaskManager - -Xmx1024M
org.apache.flink.runtime.taskmanager.TaskManager - -XX:MaxDirectMemorySize=8388607T
org.apache.flink.runtime.taskmanager.TaskManager - -Dspring.config.location=/root/application.properties
org.apache.flink.runtime.taskmanager.TaskManager - -Dlog.file=/sicdbgagrv2/flink-1.4.0/log/flink-root-taskmanager-0-sic-dbg-agrv2.log
org.apache.flink.runtime.taskmanager.TaskManager - -Dlog4j.configuration=file:/sicdbgagrv2/flink-1.4.0/conf/log4j.properties
org.apache.flink.runtime.taskmanager.TaskManager - -Dlogback.configurationFile=file:/sicdbgagrv2/flink-1.4.0/conf/logback.xml
但是在 CLI 日志中,-Dspring.config.location=/root/application.properties
没有出现......
org.apache.flink.client.CliFrontend - JVM Options:
org.apache.flink.client.CliFrontend - -Dlog.file=/sicdbgagrv2/flink-1.4.0/log/flink-root-client-sic-dbg-agrv2.log
org.apache.flink.client.CliFrontend - -Dlog4j.configuration=file:/sicdbgagrv2/flink-1.4.0/conf/log4j-cli.properties
org.apache.flink.client.CliFrontend - -Dlogback.configurationFile=file:/sicdbgagrv2/flink-1.4.0/conf/logback.xml
我的作业需要在启动 flink 运算符(MapFunction、FilterFunction 等(之前读取我的 JVM 选项。
如何添加我的 JVM 选项,使其出现在 CLI 日志中?
我明白了为什么 JVM 选项没有出现在 CLI 日志中:因为我不在 YARN 集群模式下运行 Flink(而是在独立集群中(。
所以我做了不同的做法:我使用了一个环境变量。