我们使用spark on kubernetes (使用SparkOperator)和Prometheus来公开应用程序的指标。该应用程序是spark流媒体应用程序(不是结构化流媒体应用程序)。该应用程序过去在spark版本为2.4.7的镜像上运行,后来被迁移到spark 3.1.2。由于这次迁移,所有spark_streaming_*指标都消失了,比如spark_streaming_driver_totalreceivedrecords (正如这里定义的https://github.com/apache/spark/blob/master/streaming/src/main/scala/org/apache/spark/streaming/StreamingSource.scala#L53)
一般来说,普罗米修斯设置似乎是有效的,因为当你卷曲普罗米修斯端口时,你仍然可以看到一堆其他指标-只是没有火花流指标。spark-image包含prometheus-java代理,并且在stream-app的舵表中,监控规范被配置为使用它。
monitoring:
exposeDriverMetrics: true
exposeExecutorMetrics: true
prometheus:
jmxExporterJar: "/prometheus/jmx_prometheus_javaagent-0.11.0.jar"
port: 8888如spark-operator https://github.com/GoogleCloudPlatform/spark-on-k8s-operator/blob/master/docs/user-guide.md#monitoring文档中所述。这也是用于spark 2.4.7的设置的方式
这个指标在spark3中消失了吗?或者我们可能只是遗漏了一些配置?另一个附注:通过<spark-driver>:<ui-port>/metrics/json检查指标时,您可以看到所需的指标
发布于 2021-10-07 11:12:52
好的,看起来火花操作符目前在Spark3中不能与当前的指标正常工作。这个问题可以通过为spark-image提供一个固定的prometheus配置文件来修复,然后在您的helm图表中使用它
monitoring:
exposeDriverMetrics: true
exposeExecutorMetrics: true
prometheus:
jmxExporterJar: "/prometheus/jmx_prometheus_javaagent-0.11.0.jar"
port: 8888
configFile: PATH_TO_THE_CONFIG更多信息和有效的普罗米修斯配置可以在这里找到:https://github.com/GoogleCloudPlatform/spark-on-k8s-operator/issues/1117
https://stackoverflow.com/questions/69437978
复制相似问题