3

我是一名学习者,需要帮助。

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

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

  1. 在本地 flink-conf.yaml 文件中添加Flink JMX 报告器配置。
  2. 在 8789 端口启动 flink
  3. 使用 JConsole(JMX 控制台)连接到远程 localhost:8789
  4. 重启 flink,见 JConsole Beans 下的 flink metrics。

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

  1. 我编写了一个自定义报告器,实现了度量接口,并将报告器构建到一个 jar 中,具有所有必要的依赖项。
  2. 根据Reporter 文档的重要段落中的lib/建议,我将 jar 移到了 flink 文件夹下

我的罐子名为x-y-reporter-1.0-SNAPSHOT.jar The pom

  <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-reporter。是否也是通过端口号配置?

非常感谢。

4

1 回答 1

0

使用问题中的配置重新启动 flink 后检查 flink 日志。事实证明,我的自定义类中有一个错误。修复错误后,通过连接到 JConsole 中的 LOCAL apache-flink 进程,我可以看到 MBean 列表下的类。我不需要连接到远程或本地主机。

于 2018-06-04T16:47:52.523 回答