Вы можете попробовать sparklens (https://github.com/qubole/sparklens), чтобы сначала узнать правильное количество исполнителей для вашего приложения spark, а затем настроить кластер соответствующим образом. Использование кластера также зависит от характеристик масштабируемости приложения.
Чтобы получитьметрики spark JMX
1) Создайте файл metrics.properties в spark / conf /
*. sink.jmx.class = org.apache.spark.metrics.sink.JmxSinkdriver.source.jvm.class = org.apache.spark.metrics.source.JvmSource executor.source.jvm.class = org.apache.spark.metrics.source.JvmSource master.source.jvm.class = org.apache.spark.metrics.source.JvmSource worker.source.jvm.class = org.apache.spark.metrics.source.JvmSource
2) Загрузите jarokai agent jar в какое-то место в вашем кластере.Другие агенты JMX также должны работать.
3) Обновите следующие переопределения Spark:
spark.metrics.conf spark / conf / metrics.properties spark.driver.extraJavaOptions -Djava.net.preferIPv4Stack = true -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port = 8090 -Dcom.sun.management.jmxremote.authenticate = false -Dcom.sun.management.jmxremote.ssl = false -javaagent: / tmp / jolokia-jvm.jar = port = 8779, host = localhost spark.executor.extraJavaOptions -Djava.net.preferIPv4Stack = true -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port = 8091 -Dcom.sun.management.jmxremote.authenticate = false -Dcom.sun.management.jmxremote.ssl = false -javaagent: /tmp/jolokia-jvm.jar=port=8781,host=localhost "
4) Использоватьтелеграф или другие инструменты мониторинга для получения метрик от агентов.