Return to article

Архитектура системы сбора и хранения метрик использования ресурсов Spark-приложений в кластерных системах обработки больших данных

Таблица 1 - Ключевые метрики мониторинга нагрузки Spark-приложения

Категория 

Метрика 

Описание 

Использование памяти 

jvm.heap.used 

Объем используемой heap-памяти JVM 

jvm.heap.committed 

Объем выделенной heap-памяти JVM 

jvm.heap.max 

Максимально доступный объем heap-памяти JVM 

jvm.non-heap.used 

Объем используемой non-heap памяти JVM 

jvm.non-heap.committed 

Объем выделенной non-heap памяти JVM 

jvm.non-heap.max 

Максимально доступный объем non-heap памяти JVM 

ExecutorMetrics.OnHeapStorageMemory 

Используемая on-heap память для хранения данных 

ExecutorMetrics.OffHeapStorageMemory 

Используемая off-heap память для хранения данных 

ExecutorMetrics.OnHeapExecutionMemory 

Общий объем on-heap памяти для хранения 

ExecutorMetrics.OffHeapExecutionMemory 

Общий объем off-heap памяти для хранения 

Spill 

executor.memoryBytesSpilled.count 

Объем данных, сброшенных из памяти на диск на уровне executor 

executor.diskBytesSpilled.count 

Объем данных, сброшенных на диск на уровне executor 

task.memoryBytesSpilled.count 

Объем данных, сброшенных из памяти на диск на уровне задачи 

task.diskBytesSpilled.count 

Объем данных, сброшенных на диск на уровне задачи 

Ввод/вывод 

executor.filesystem.hdfs.largeRead_ops 

Количество больших операций чтения данных executor из hdfs 

executor.filesystem.hdfs.read_bytes 

Объем данных, прочитанных executor из hdfs 

executor.filesystem.hdfs.read_ops 

Количество операций чтения данных executor из hdfs 

executor.filesystem.hdfs.write_bytes 

Объем данных, записанных executor из hdfs 

executor.filesystem.hdfs.write_ops 

Количество операций записи данных executor из hdfs 

task.outputMetrics.bytesWritten 

Объем данных, записанных задачей 

Задачи 

task.duration 

Продолжительность выполнения задачи 

task.jvmGCTime 

Время на сборку мусора во время выполнения задачи 

task.resultSize 

Размер результата задачи 

task.executorRunTime 

Время выполнения задачи на executor 

task.executorCpuTime 

Время использования CPU задачей 

task.peakExecutionMemory 

Пиковое использование памяти задачей 

Shuffle-чтение 

shuffleReadMetrics.totalBlocksFetched 

Количество блоков, полученных в shuffle-чтении 

shuffleReadMetrics.localBlocksFetched 

Локальные блоки, полученные в shuffle-чтении 

shuffleReadMetrics.remoteBlocksFetched 

Удаленные блоки, полученные в shuffle-чтении 

shuffleReadMetrics.totalBytesRead 

Общий объем байт, прочитанных в shuffle-чтении 

shuffleReadMetrics.localBytesRead 

Объем байт, прочитанных локально в shuffle-чтении 

shuffleReadMetrics.remoteBytesRead 

Объем байт, прочитанных удаленно в shuffle-чтении 

shuffleWriteMetrics.bytesWritten 

Объем байт, записанных в shuffle-записи 

shuffleWriteMetrics.recordsWritten 

Количество записей, записанных в shuffle-записи 

shuffleWriteMetrics.writeTime 

Время записи в shuffle (в наносекундах)