Ich ging durch eine der Präsentation auf Spark-Speicher-Management und wollte wissen, wie man ein gutes grafisches Bild der Executor-Speicherverbrauch (etwas ähnliches wie in der Präsentation erwähnt), um Fehler besser aus dem Speicher zu verstehen. Was ist der beste Weg, um die Off-Heap-Speicherbelegung in Spark-Executoren zu analysieren? Wie finden Sie den Umfang der Off-Heap-Speicherauslastung als Funktion der Zeit?
Ich habe mir Ganglia angeschaut, aber es gibt Node-Level-Metriken. Ich fand es schwierig, die Speicherauslastung auf Executor-Ebene mithilfe von Metrik auf Knotenebene zu verstehen.
Ich habe über ein ähnliches Werkzeug nachgedacht!
Ich denke org.apache.spark.scheduler .SparkListener ist die Schnittstelle zu allen Low-Level-Metriken in Apache Spark, wobei onExecutorMetricsUpdate
die Methode ist, die bei der Entwicklung eines übergeordneten Überwachungstools berücksichtigt wird.
Sie könnten JVM auch über die JMX-Schnittstelle überwachen, aber es ist möglicherweise zu niedrig und definitiv ohne die kontextuellen Informationen darüber, wie Spark die Ressourcen verwendet.
Tags und Links memory monitoring memory-management apache-spark