Flink - 如何将 JVM 选项传递给 CLI



我想在我的作业中添加一个 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(而是在独立集群中(。

    所以我做了不同的做法:我使用了一个环境变量。

    相关内容

    • 没有找到相关文章

    最新更新