You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Databricks中Prometheus Sink Metrics Servlet未找到问题咨询

解决Databricks Spark暴露Prometheus指标的问题

1. 默认集成Prometheus接收器的DBR版本

Databricks Runtime (DBR) 11.0及以上版本已默认内置Spark Prometheus metrics sink,无需额外安装依赖,直接配置metrics.properties即可生效。如果你的集群使用低于11.0的DBR版本,就会触发ClassNotFoundException,因为对应的PrometheusServlet类未包含在默认环境中。

2. 低版本DBR的适配方案(初始化脚本配置)

若无法升级DBR版本,需通过初始化脚本手动引入依赖库并完成配置:

完整初始化脚本示例

#!/bin/bash
# 下载与Spark版本匹配的Prometheus metrics sink包
# 请根据你的DBR对应Spark版本替换jar包URL(示例为Spark 3.1.2,对应DBR 9.1/10.4)
wget -O /databricks/jars/spark-metrics-prometheus.jar https://repo1.maven.org/maven2/org/apache/spark/spark-metrics-prometheus_2.12/3.1.2/spark-metrics-prometheus_2.12-3.1.2.jar

# 生成metrics.properties配置文件
cat << EOF > /databricks/spark/conf/metrics.properties
*.sink.prometheusServlet.class=org.apache.spark.metrics.sink.PrometheusServlet
*.sink.prometheusServlet.path=/metrics/prometheus
master.sink.prometheusServlet.path=/metrics/master/prometheus
applications.sink.prometheusServlet.path=/metrics/applications/prometheus
EOF

关键注意事项

  • 版本匹配:必须下载与DBR内置Spark版本完全一致的spark-metrics-prometheus包,版本不匹配会导致类加载失败。可通过DBR release notes确认对应Spark版本。
  • 目录权限:初始化脚本需拥有写入/databricks/jars和/databricks/spark/conf目录的权限,默认集群初始化脚本具备该权限。
  • 网络访问:确保集群节点能访问Maven仓库(若内网环境,需将jar包上传至内部存储并修改下载路径)。

验证方法

集群启动后,通过Driver节点的内网地址访问http://<driver-ip>:4040/metrics/prometheus(端口4040为Spark UI默认端口),若能返回Prometheus格式的指标数据,则配置成功。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 09:10:37