#scala #apache-spark #metrics
#scala #apache-spark #показатели
Вопрос:
Это определяет несколько приемников, метрик и так далее. Но они собираются?
- Допустим, я добавил это
JxmSink
вmetric.properties
файл и включил все показатели экземпляра (master, applications, worker, executor, driver, shuffleService, ApplicationMaster). - Допустим, что порт jmx установлен.
Где собирать показатели: должен ли я подключаться ко всем узлам кластера или только к узлу драйвера?
Комментарии:
1. Вы хотите собрать метрику yourslef? Или Spark предоставляет пользовательский интерфейс, который может видеть эти данные.
Ответ №1:
Метрики Spark не требуется извлекать из отдельных узлов, если соответствующий узел приемника настроен в файле свойств метрик, то метрики будут передаваться на него каждые настроенные секунды. Наша настройка настроена на использование GraphiteSink для сбора показателей, требуемая конфигурация аналогична приведенной ниже (наряду с другими, которые вы упомянули)
- Подготовьте файл свойств конфигурации показателей с конечной точкой сервера 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
- Убедитесь, что файл свойств показателей передается в параметр —files в скрипте задания spark-submit, чтобы он использовался узлами-исполнителями для отправки показателей
Комментарии:
1. Итак, каждый узел в кластере отправляет показатели на какой-либо хост? Или они сначала загружают показатели для освоения?
2. @Cherry Да, показатели исполнителя поступают непосредственно на сервер graphite. Пожалуйста, ознакомьтесь с архитектурой системы показателей в этом блоге — yusufameri.github.io/Metric-Monitoring-for-your-Spark-Cluster