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

时间:2018-05-30 20:59:49

标签: yaml wildfly jmx apache-flink metrics

我是学习者,需要帮助。

我有一个实现Flink MetricsReporter interface的Java maven项目,作为我的自定义记者发送指标。

在我当地的Flink,我能够:

  1. 在本地flink-conf.yaml文件中添加Flink JMX reporter config
  2. 在端口8789上启动flink
  3. 使用JConsole(JMX控制台)连接到远程localhost:8789
  4. 重新启动flink,请参阅JConsole Beans下的flink指标。
  5. 在这个工作流程有效的概念证明之后,我想要做的是:

    1. 我写了一个实现metrics interface的自定义记者,我将记者建成了一个罐子,里面有所有必要的依赖。
    2. 我按照The important paragraph of the Reporter documentation
    3. 的建议将jar移到flink lib/文件夹下

      我的jar名为x-y-reporter-1.0-SNAPSHOT.jar 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。是否也通过端口号进行配置?

      非常感谢你。

1 个答案:

答案 0 :(得分:0)

Checked flink logs after restarting flink with configuration in the question. It turns out that there's an error within my custom class. After fixing the error, and by connect to LOCAL apache-flink process in JConsole, I can see the class under MBean lists. I do not need to connect to remote or localhost.