Spark: общий отчет и доступная память кластера

Я выполняю задание Spark на Amazon EMR; Я хотел бы продолжать сообщать об общей и свободной памяти кластера из самой программы. Есть ли в Spark API какой-либо метод, предоставляющий информацию о памяти кластера?


person user1888243    schedule 06.06.2018    source источник
comment
SparkContext.getExecutorMemoryStatus предоставляет некоторую информацию, но REST API является более продвинутым источником. данных и могут быть легко запрошены из приложения.   -  person Alper t. Turker    schedule 06.06.2018


Ответы (1)


Вы можете использовать spark.metrics.conf

Как использовать: инициализируйте spark.metrics.conf в вашем файле конфигурации spark.

spark.metrics.conf = /path/to/metrics.properties 

По указанному выше пути создайте файл metrics.properties. В этом файле укажите параметры, которые вы хотите получить от приложения spark, даже вы можете указать формат и интервал.

Например, здесь я получаю данные в формате CSV каждую минуту:

driver.sink.csv.class=org.apache.spark.metrics.sink.CsvSink

# Polling period for the CsvSink
#*.sink.csv.period=1
# Unit of the polling period for the CsvSink
#*.sink.csv.unit=minutes

# Polling directory for CsvSink
driver.sink.csv.directory=/Path/at/which/data/will/be/dumped

# Polling period for the CsvSink specific for the worker instance
driver.sink.csv.period=1
# Unit of the polling period for the CsvSink specific for the worker instance
driver.sink.csv.unit=minutes

Полную документацию по этому вопросу вы можете найти по адресу: https://spark.apache.org/docs/latest/monitoring.html#metrics

person Sandeep Das    schedule 06.06.2018
comment
что я должен использовать в качестве driver.sink.csv.directory? так как он не смог распознать мой путь: /mnt/metrics-operational/spark-metrics/. Что такое базовый каталог для jar на основе emr? - person jk1; 05.03.2019
comment
Поскольку API предназначен для записи в локальный каталог. Он должен распознавать локальный путь. Возможно, вам нужно проверить разрешение каталога, в котором вы пишете. Поскольку вы пишете spark.metrics.conf в основном файле конфигурации, у него будет расположение jar emr. - person Sandeep Das; 05.03.2019