我正在经历 presentation 之一关于 spark 内存管理,并想知道如何获得执行程序内存使用情况的良好图形图像(类似于演示文稿中提到的内容),以更好地了解内存不足错误。此外,在 Spark 执行器中分析堆外内存使用情况的最佳方法是什么?如何找到随时间变化的堆外内存使用量?
我查看了 Ganglia,但它提供了节点级别的指标。我发现使用节点级别的指标很难理解执行程序级别的内存使用情况。
最佳答案
我一直在考虑类似的工具!
我认为 org.apache.spark.scheduler.SparkListener是 Apache Spark 中所有低级指标的接口(interface),onExecutorMetricsUpdate
是开发高级监控工具时要查看的方法。
您也可以使用 JMX 接口(interface)监控 JVM,但它可能太低级并且肯定没有关于 Spark 如何使用资源的上下文信息。
关于memory - 使用什么来查看 Spark 的内存使用情况(使用 YARN)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39487095/