我是学习者,需要帮助。
我有一个Java maven项目,它实现了Flink MetricsReporter接口,作为我的自定义报告器来发送指标。
在我当地的 Flink 中,我能够:
- 在本地 flink-conf.yaml 文件中添加 Flink JMX 报告器配置。
- 在端口 8789 上启动 flink
- 使用JConsole(JMX控制台(连接到远程本地主机:8789
- 重新启动 flink,请参阅 JConsole Bean 下的 flink 指标。
在工作流程工作的概念证明之后,我想做的是:
- 我编写了一个实现指标接口的自定义报告器,并将报告器构建到一个 jar 中,其中包含所有必要的依赖项。
- 我按照报告者文档的重要段落中的建议将罐子移动到 flink
lib/
文件夹下
我的罐子叫x-y-reporter-1.0-SNAPSHOT.jar
绒球
<groupId>a.b.c</groupId>
<artifactId>x-y-reporter</artifactId>
<version>1.0-SNAPSHOT</version>
我将下面的配置更新为 flink-conf.yaml
metrics.reporters: x-y-reporter
metrics.reporter.x-y-reporter.class: com.b.c.xyreporter.XYReporter
metrics.reporter.x-y-reporter.class.host: localhost
metrics.reporter.x-y-reporter.port: 8789
问题:
- 我想在 flink-conf.yaml 中将 JMX 配置替换为我自己的报告器配置。上面的配置不起作用。请问我该怎么做?请问每个参数是什么意思?
- 我想从JMX控制台查看指标,如JMX报告器。是否也通过端口号进行配置?
谢谢。
使用问题中的配置重新启动 flink 后检查了 flink 日志。事实证明,我的自定义类中存在错误。修复错误后,通过连接到JConsole中的本地apache-flink进程,我可以在MBean列表下看到该类。我不需要连接到远程或本地主机。