Flink 配置自定义 jar 报告器到 yaml,并通过 JMX 控制台连接主机



我是学习者,需要帮助。

我有一个Java maven项目,它实现了Flink MetricsReporter接口,作为我的自定义报告器来发送指标。

在我当地的 Flink 中,我能够:

  1. 在本地 flink-conf.yaml 文件中添加 Flink JMX 报告器配置。
  2. 在端口 8789 上启动 flink
  3. 使用JConsole(JMX控制台(连接到远程本地主机:8789
  4. 重新启动 flink,请参阅 JConsole Bean 下的 flink 指标。

在工作流程工作的概念证明之后,我想做的是:

  1. 我编写了一个实现指标接口的自定义报告器,并将报告器构建到一个 jar 中,其中包含所有必要的依赖项。
  2. 我按照报告者文档的重要段落中的建议将罐子移动到 flinklib/文件夹下

我的罐子叫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列表下看到该类。我不需要连接到远程或本地主机。

相关内容

  • 没有找到相关文章