【问题标题】:Getting JMX metrics from Dataproc从 Dataproc 获取 JMX 指标
【发布时间】:2020-05-09 02:12:06
【问题描述】:

我已经设置了 Stackdriver,安装了监控代理并按照本指南进行 JVM 监控https://cloud.google.com/monitoring/agent/plugins/jvm

但是我无法从 Dataproc 访问 JMX 指标,特别是 HeapMemoryUsage。

我从 GitHub 配置库下载了 jvm-sun-hotspot.conf 并将其放在目录 /opt/stackdriver/collectd/etc/collectd.d/ 中

它要求我编辑下载的配置文件并将 JMX_PORT 替换为您的 JVM 配置为允许 JMX 连接的端口。

我在哪里可以找到这个端口?我是否需要设置应用程序来监控 JMX 指标?

【问题讨论】:

  • 这个问题有帮助吗? stackoverflow.com/questions/45435237/…
  • @NathanGriffiths 是也不是。主要答案建议有一个随机的 JMX 端口,但问题是从 spark 进程打开的端口中检测它。此外,由于默认情况下没有运行 spark 驱动程序或执行程序进程,这意味着对于每个提交的作业,都需要更新 stackdriver 代理配置并重新启动服务——这两个操作需要 root 访问权限,并且 yarn 不是 sudoer。为 executor 拥有一个静态端口意味着多个 executor 进程将尝试绑定到同一主机上的同一 jmx 端口。

标签: google-cloud-platform google-compute-engine jmx google-cloud-dataproc stackdriver


【解决方案1】:

不幸的是,Stackdriver 监控提供的 JVM 监控是基于 JMX 的,因此当涉及到 Spark 时,由于两个执行程序共享同一个主机并竞争同一个 JMX 端口,因此会出现问题。

但是,另一种解决方案是使用Spark's built in monitoring:

【讨论】:

    猜你喜欢
    • 2022-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-12
    相关资源
    最近更新 更多