Flink Job Manager 和 Task Manager 本地托管在哪里?

Where are Flink Job Manager and Task Manager hosted locally?

我在本地端口 8081 上有 Flink 服务器 运行。我在上面部署了我的 flink 应用程序的 jar,它运行成功。

现在我需要从 prometheus 监听 Flink 指标,为此我需要将 Job manager 和 Task manager 配置为 prometheus.yml 中的目标。

那么我从哪里获得相同的端口?

仅在放置 JM 的主机上配置文件 /etc/prometheus/prometheus.yml,并将 TM 的 IP 指向目标。在我的示例中,JM 位于 localhost,TM 位于 localhost192.168.56.101192.168.56.102192.168.56.103.

global:
  scrape_interval: 15s

scrape_configs:
  - job_name: 'prometheus'
    scrape_interval: 5s
    static_configs:
      - targets: ['localhost:9090']
  - job_name: 'flink'
    scrape_interval: 5s
    static_configs:
      - targets: ['localhost:9250', 'localhost:9251', '192.168.56.101:9250', '192.168.56.102:9250', '192.168.56.103:9250']
    metrics_path: /

您必须配置文件 conf/flink-conf.yaml 以通过一系列端口将数据导出到 Prometheus。这个link解释的很详细

# Metrics Reporter
metrics.reporter.prom.class: org.apache.flink.metrics.prometheus.PrometheusReporter
metrics.reporter.prom.host: 127.0.0.1
metrics.reporter.prom.port: 9250-9260