You need to enable JavaScript to run this app. 使用Prometheus监控容器化Spark v2.1应用的配置问题求助
优惠活动
大模型
产品
解决方案
定价
更多

使用Prometheus监控容器化Spark v2.1应用的配置问题求助

Spark Prometheus监控Target状态Down解决方案

1. 修正JMX Exporter启动配置

只在pom.xml添加JMX Prometheus Javaagent依赖无法生效,需要在spark-submit启动命令中显式指定javaagent参数、配置文件路径和暴露端口,示例如下:

spark-submit \
  --class <你的主类全限定名> \
  --master spark://<Spark主节点地址>:7077 \
  --conf spark.driver.extraJavaOptions="-javaagent:/opt/jmx_prometheus_javaagent-0.18.0.jar=8082:/opt/spark.yml" \
  --conf spark.executor.extraJavaOptions="-javaagent:/opt/jmx_prometheus_javaagent-0.18.0.jar=8083:/opt/spark.yml" \
  你的应用jar包路径

注意:

  • JMX Exporter的jar包和spark.yml配置文件需要在Spark主节点、所有工作节点的对应路径下都存在
  • Driver和Executor要使用不同的端口,避免端口冲突

2. 编写基础可用的spark.yml配置

你可以直接使用以下基础配置,会自动将Spark JMX指标转换为Prometheus兼容的格式:

lowercaseOutputName: true
lowercaseOutputLabelNames: true
rules:
  - pattern: "org.apache.spark<type=(.+), name=(.+)><>(.+):"
    name: spark_$1_$2_$3
  - pattern: "org.apache.spark<type=(.+), name=(.+), (.+)=(.+)><>(.+):"
    name: spark_$1_$2_$5
    labels:
      $3: "$4"

3. 修正Prometheus配置与网络问题

你当前的Prometheus配置存在缩进错误,且需要确保Prometheus服务可以正常访问Spark节点的指标端口:

  • 如果你用容器部署Prometheus,需要确认Prometheus容器和Spark集群在同一个网络下,否则要将target中的spark-master替换为Spark主节点的宿主机物理IP
  • 先手动验证指标端口是否可用:在Prometheus所在环境执行curl http://<Spark主节点IP>:8082/metrics,如果返回指标内容说明端口正常,否则检查Spark节点防火墙是否开放8082端口
  • 修正后的prometheus.yml示例:
global:
  scrape_interval: 15s
  evaluation_interval: 15s

scrape_configs:
  - job_name: prometheus
    static_configs:
      - targets: ['localhost:9090']
  - job_name: spark-master
    static_configs:
      - targets: ['<Spark主节点实际IP>:8082']
  # 若需要采集Executor指标,新增对应job即可
  # - job_name: spark-executor
  #   static_configs:
  #     - targets: ['<工作节点IP>:8083']

4. 生效验证

修改完成后重启Prometheus服务,等待1-2个采集周期后,访问targets页面即可看到Spark任务状态变为up,后续可直接查询spark_开头的所有Spark指标。

内容的提问来源于stack exchange,提问作者Oded

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.17 06:54:04