Как spark отчитывается / собирает показатели

#scala #apache-spark #metrics

#scala #apache-spark #показатели

Вопрос:

Это определяет несколько приемников, метрик и так далее. Но они собираются?

  1. Допустим, я добавил это JxmSink в metric.properties файл и включил все показатели экземпляра (master, applications, worker, executor, driver, shuffleService, ApplicationMaster).
  2. Допустим, что порт jmx установлен.

Где собирать показатели: должен ли я подключаться ко всем узлам кластера или только к узлу драйвера?

Комментарии:

1. Вы хотите собрать метрику yourslef? Или Spark предоставляет пользовательский интерфейс, который может видеть эти данные.

Ответ №1:

Метрики Spark не требуется извлекать из отдельных узлов, если соответствующий узел приемника настроен в файле свойств метрик, то метрики будут передаваться на него каждые настроенные секунды. Наша настройка настроена на использование GraphiteSink для сбора показателей, требуемая конфигурация аналогична приведенной ниже (наряду с другими, которые вы упомянули)

  1. Подготовьте файл свойств конфигурации показателей с конечной точкой сервера Graphite
     *.sink.graphite.class=org.apache.spark.metrics.sink.GraphiteSink
    *.sink.graphite.host=<graphite-server-host>
    *.sink.graphite.port=<graphite-server-port>
    *.sink.graphite.period=10
    *.sink.graphite.prefix=dev
  
  1. Убедитесь, что файл свойств показателей передается в параметр —files в скрипте задания spark-submit, чтобы он использовался узлами-исполнителями для отправки показателей

Комментарии:

1. Итак, каждый узел в кластере отправляет показатели на какой-либо хост? Или они сначала загружают показатели для освоения?

2. @Cherry Да, показатели исполнителя поступают непосредственно на сервер graphite. Пожалуйста, ознакомьтесь с архитектурой системы показателей в этом блоге — yusufameri.github.io/Metric-Monitoring-for-your-Spark-Cluster