Flink on Yarn 如何查看flink程序多内存和CPU的资源占用
在 Apache Flink 部署在 YARN 上的环境中,你可以通过多种方式查看 Flink 程序的内存和 CPU 资源占用情况。以下是一些常用的方法:
Flink 提供了一个 Web UI,可以用来监控作业的运行状态和资源使用情况。你可以通过以下步骤查看资源占用:
访问 Flink Web UI:在提交 Flink 作业到 YARN 后,YARN 会为 Flink 创建一个 Application Master (AM),你可以通过 YARN ResourceManager 的 Web UI 找到这个 AM 的链接,点击链接进入 Flink 的 Web UI。
查看作业详情:在 Flink Web UI 中,你可以看到所有正在运行的作业。点击某个作业的 ID,可以查看该作业的详细信息,包括任务的资源使用情况。
查看 Task Manager 详情:在 Flink Web UI 的 "Task Managers" 页面,你可以看到每个 Task Manager 的资源使用情况,包括内存和 CPU 使用情况。
YARN ResourceManager 的 Web UI 也提供了对资源使用情况的监控:
访问 YARN ResourceManager Web UI:通常可以通过 http://<ResourceManager-Host>:8088
访问。
查看应用程序详情:在 ResourceManager Web UI 中,找到你的 Flink 应用程序,点击应用程序 ID 进入详情页面。
查看容器详情:在应用程序详情页面,你可以看到所有分配给该应用程序的容器,点击某个容器 ID 可以查看该容器的资源使用情况。
你也可以使用 YARN 提供的命令行工具来查看资源使用情况:
# 查看所有正在运行的应用程序
yarn application -list
# 查看特定应用程序的详细信息
yarn application -status <application_id>
如果你的集群配置了 Ganglia 或 Prometheus 等监控工具,你也可以通过这些工具来监控 Flink 作业的资源使用情况。
Flink 提供了丰富的度量指标(Metrics),你可以通过配置将这些指标导出到外部系统(如 JMX、Prometheus、InfluxDB 等),然后通过这些系统进行监控。
# 在 flink-conf.yaml 中配置 metrics
metrics.reporter.prom.class: org.apache.flink.metrics.prometheus.PrometheusReporter
metrics.reporter.prom.port: 9249
配置完成后,你可以通过 Prometheus 或其他监控系统查看 Flink 的资源使用情况。
通过以上方法,你可以全面监控 Flink 程序在 YARN 上的内存和 CPU 资源占用情况。