apache-spark - 使用 prometheus JMX 代理从在单个节点上运行的多个 spark executor 导出指标
问题描述
我正在运行 spark 集群,并且我有一个节点,其中运行了三个执行程序。我想使用 Prometheus JMX 代理为所有三个执行程序废弃指标。我在 spark 提交命令中使用“spark.executor.extraJavaOptions”传递 Prometheus java 代理,如下所示。
--conf "spark.executor.extraJavaOptions=-javaagent:/opt/agent/jmx_prometheus_javaagent-0.3.1.jar=6677:/opt/agent/spark.yml"
我将端口作为 6677 传递,并且 JMX 指标仅适用于一个执行程序。对于其他两个执行程序,javaagent 将失败,因为端口 6677 已在使用中,并且不会报告其他两个执行程序的指标。有人可以指导我如何解决这个问题。我在这里发现了类似的问题,但没有答案。
解决方案
为其他 2 个执行程序使用不同的端口?您不能让 3 个服务器监听同一个端口,这与 Prometheus 或 JMX 无关。
推荐阅读
- mysql - 带有 MIN/MAX 的查询作为子查询比单独查询要慢得多
- c - 将节点附加到指针数组
- iron.io - 项目代币和用户代币的区别 - 需要澄清
- c# - 在 ActionFilter/IResultFilter 中访问 `IValueProvider` 或 `ModelBinder`
- html - 将叠加层添加到图像
- node.js - 部署到heroku:端点无效
- python-3.x - 在 python 中,我如何在 sublime 中获得输入?
- java - 为什么jvm堆内存没有完全使用?
- javascript - 使用jquery在html中自动填充日期
- r - 计算医院每小时平均人数