flink - 添加仪器

eth*_*nny 6 java newrelic apache-flink

我想在我的flink工作中添加NewRelic工具.我没有看到可以将其他类路径/其他参数传递给bin/flink run <job> 命令的位置.

NewRelic java代理想要-javaagent:<path to jar>添加到执行路径中.也建议传入配置文件路径.


编辑:

我在所有(3)集群机器上将此行添加到我的conf/flink-conf.yaml:

env.java.opts: "-javaagent:/opt/newrelic/newrelic.jar -Dnewrelic.config.file=/opt/newrelic/newrelic.yml"
Run Code Online (Sandbox Code Playgroud)

当我去启动集群时,只有作业管理器才会启动.在任务管理器不会在任何一台机器的启动.

我发现添加检测的唯一方法(到目前为止)是更改bin/flink末尾的命令行以包含上述参数.这很好,除了它需要运行命令的会话保持打开状态.如果退出,Flink作业将继续,但NewRelic代理退出.

Til*_*ann 4

env.java.opts您可以通过在 Flink 的配置文件中设置的配置值传递其他 JVM 启动参数flink-conf.yaml

  • 如果您在同一个 Flink 集群上顺序运行作业,则这是不可能的。原因是 TaskManager 和 JobManager 被重复用于不同的作业。但是,如果您使用 YARN,则可以以单作业模式启动作业,该模式为每个作业启动一个 YARN 集群,并在作业完成时终止它。对于每个会话,您可以通过动态属性 `-Denv.java.opts=xyz` 定义配置设置(参见 https://ci.apache.org/projects/flink/flink-docs-release-0.10/setup/yarn_setup .html#run-a-single-flink-job-on-hadoop-yarn) (2认同)