我想将NewRelic仪器添加到我的flink作业中。我看不出在哪里可以向bin/flink run <job>
命令传递额外的classpath/其他参数。
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"
当我去启动集群时,只有作业管理器会启动。任务管理器不会在任何计算机上启动。
到目前为止,我发现添加插入的唯一方法是更改bin/flink末尾的命令行,以包含上述参数。这很好,只是它要求运行命令的会话保持打开状态。如果你退出,Flink的工作会继续,但NewRelic的经纪人会退出。
您可以通过env.java.opts
配置值传递额外的JVM启动参数,该值可以在Flink的配置文件flink-conf.yaml
中设置。
首先删除值(右侧)中的引号
env.java.opts: -javaagent:/opt/newrelic/newrelic.jar -Dnewrelic.config.file=/opt/newrelic/newrelic.yml
还要确保将文件放在flink的"lib"目录中,并将命令重写为
env.java.opts: -javaagent:lib/newrelic.jar -Dnewrelic.config.file=lib/newrelic.yml
"lib"目录中的所有文件都将复制到作业管理器和任务管理器中,并在相对路径"./lib"