Apache spark 使用jmxagent将spark worker/executor度量导出到prometheus

Apache spark 使用jmxagent将spark worker/executor度量导出到prometheus,apache-spark,spark-streaming,jmx,metrics,prometheus,Apache Spark,Spark Streaming,Jmx,Metrics,Prometheus,我已按照说明将度量导出到Prometheus以获取spark。为了不仅能够从作业中导出度量值,还能够从主服务器和工作服务器导出度量值,我为所有spark驱动程序、主服务器、工作服务器和执行器启用了jmx代理 这导致了一个问题,因为spark worker和executor并置在同一台机器上,因此,我需要将不同的jmx端口传递给它们。如果我在spark workers和executors之间有1-1关系,这不是问题,但是,在每个worker有多个executors的情况下,它会发生故障,因为在sp

我已按照说明将度量导出到Prometheus以获取spark。为了不仅能够从作业中导出度量值,还能够从主服务器和工作服务器导出度量值,我为所有spark驱动程序、主服务器、工作服务器和执行器启用了jmx代理

这导致了一个问题,因为spark worker和executor并置在同一台机器上,因此,我需要将不同的jmx端口传递给它们。如果我在spark workers和executors之间有1-1关系,这不是问题,但是,在每个worker有多个executors的情况下,它会发生故障,因为在spark作业提交期间,无法为特定的executor指定不同的端口

在集群模式下提交作业时,情况更糟,因为驱动程序、工作程序和执行程序都可能位于同一节点上

你是如何解决这个问题的