Отладка и диагностика приложений Apache Spark с использованием расширенного сервера журналов Apache Spark

Эта статья содержит рекомендации по использованию расширенного сервера журналов Apache Spark для отладки и диагностики готовых и запущенных приложений Spark.

Получение доступа к серверу журнала Apache Spark

Сервер журнала Apache Spark — это веб-интерфейс для завершения и запуска приложений Spark. Вы можете открыть веб-интерфейс Apache Spark из записной книжки индикатора хода выполнения или страницы сведений о приложении Apache Spark.

Открытие веб-интерфейса Spark из записной книжки индикатора хода выполнения

При активации задания Apache Spark кнопка открытия веб-интерфейса Spark находится внутри параметра "Дополнительно" в индикаторе хода выполнения. Выберите веб-интерфейс Spark и подождите несколько секунд, а затем появится страница пользовательского интерфейса Spark.

Screenshot showing open the Spark web UI from progress indicator notebook.

Открытие веб-интерфейса Spark на странице сведений о приложении Apache Spark

Веб-интерфейс Spark также можно открыть на странице сведений о приложении Apache Spark. Выберите центр мониторинга слева от страницы и выберите приложение Apache Spark. Откроется страница сведений приложения.

Screenshot showing open the Spark web UI from Apache Spark application detail page.

Для приложения Apache Spark, состояние которого выполняется, кнопка отображает пользовательский интерфейс Spark. Откроется пользовательский интерфейс Spark и страница пользовательского интерфейса Spark.

Screenshot showing the button displays the spark ui in the running state.

Для приложения Apache Spark, состояние окончания которого завершено, состояние завершения может быть остановлено, сбоем, отменено или завершено. На кнопке показан сервер журнала Spark. Выберите сервер журнала Spark и откроется страница пользовательского интерфейса Spark.

Screenshot showing the button displays the spark ui in the ended state.

Вкладка «Диаграмма» на сервере журналов Apache Spark

Выберите идентификатор задания, которое требуется просмотреть. Выберите идентификатор задания, а затем в меню инструментов выберите пункт Диаграмма, чтобы открыть визуальное представление задания в виде диаграммы.

Обзор

В созданной диаграмме задания можно просмотреть общие сведения о задании. По умолчанию отображаются все задания. Отфильтровать результаты можно по идентификатору задания.

Screenshot showing spark application and job graph job ID.

Отображать

По умолчанию выбрано отображение Ход выполнения. Пользователь может проверить поток данных, выбрав в раскрывающемся списке Отображение пункт Чтение или Запись.

Screenshot showing spark application and job graph display.

Узел диаграммы отображает цвета, показанные в условных обозначениях тепловой карты.

Screenshot showing spark application and job graph heatmap.

Воспроизведение

Чтобы воспроизвести задание, выберите "Воспроизведение". Вы можете в любое время нажать кнопку Стоп для остановки повторного воспроизведения. Во время воспроизведения состояния будут отмечены различными цветами:

Цвет Значение
Зеленый Успех: задание было завершено успешно.
Orange Повтор: экземпляры задач, которые завершили работу, но не влияют на конечный результат задания. Эти задачи имеют дублирующиеся или повторные экземпляры, которые могут быть успешно выполнены позже.
Синий Выполняется: задача выполняется.
Белый В ожидании или Пропуск: задача ожидает выполнения или этап был пропущен.
Красный Сбой: задачу не удалось завершить.

На следующем рисунке показаны зеленый, оранжевый и синий цвета состояния.

Screenshot showing spark application and job graph color sample, running.

На следующем рисунке показаны зеленые и белые цвета состояния.

Screenshot showing spark application and job graph color sample, skip.

На следующем рисунке показаны красные и зеленые цвета состояния.

Screenshot showing spark application and job graph color sample, failed.

Примечание.

Сервер журнала Apache Spark разрешает воспроизведение для каждого завершенного задания (но не разрешает воспроизведение неполных заданий).

Масштабирование

Используйте прокрутку мыши, чтобы увеличить или уменьшить диаграмму задания, или выберите Подогнать масштаб для отображения в соответствии с размерами экрана.

Screenshot showing spark application and job graph zoom to fit.

Подсказки

Наведите указатель мыши на узел диаграммы, чтобы увидеть подсказку при наличии невыполненных задач, и щелкните на необходимый этап, чтобы открыть страницу данного этапа.

Screenshot showing spark application and job graph tooltip.

На вкладке диаграммы заданий этапы имеют подсказку и маленький значок, если у них есть задачи, отвечающие следующим условиям:

Условие Description
Неравномерное распределение данных > Средний размер данных для чтения данных всех задач на этом этапе * 2 и размер > чтения данных 10 МБ.
Неравномерное распределение времени > Среднее время выполнения всех задач на этом этапе * 2 и время > выполнения 2 минуты.

Screenshot showing spark application and job graph skew icon.

Описание узла диаграммы

В узле диаграммы задания отображаются следующие сведения о каждом этапе:

  • Идентификатор
  • Имя или описание
  • общее количество задач;
  • чтение данных: сумма размера входных данных и размер данных чтения в случайном порядке;
  • Запись данных: сумма выходных данных и размер операций записи
  • время выполнения: время от начала первой попытки до завершения последней попытки;
  • Число строк: сумма входных записей, выходных записей, перетасовка записей чтения и перетасовка записей записи
  • Ход выполнения

Примечание.

По умолчанию узел диаграммы заданий отображает сведения о последней попытке каждого этапа (за исключением времени выполнения этапа). Однако во время повторного воспроизведения узел диаграммы будет отображать сведения каждой из попыток.

Размер данных чтения и записи составляет 1 МБ = 1000 КБ = 1000 * 1000 байт.

Предоставление отзыва

Чтобы отправить отзыв о проблемах, щелкните Отправить нам отзыв.

Screenshot showing spark application and job graph feedback.

Обзор вкладки «Диагностика» на сервере журналов Apache Spark

Чтобы открыть вкладку «Диагностика», выберите идентификатор задания. Затем в меню инструментов выберите пункт Диагностика, чтобы отобразить диагностику задания. На вкладке диагностики доступны вкладки Неравномерное распределение данных, Неравномерное распределение времени и Анализ использования исполнителя.

Выберите вкладку Неравномерное распределение данных, Неравномерное распределение времени или Анализ использования исполнителя, чтобы просмотреть соответствующие сведения.

Screenshot showing sparkUI diagnosis data skew tab again.

Неравномерное распределение данных

Выберите вкладку Неравномерное распределение данных. Отобразятся соответствующие задачи с неравномерным распределением на основе указанных параметров.

  • Укажите параметры — в первом разделе отображаются параметры, которые служат для обнаружения неравномерного распределения данных. Правилом по умолчанию является то, что чтение данных задачи превышает три раза в среднем, а данные задачи считываются более 10 МБ. Если необходимо самостоятельно задать правила для задач с неравномерным распределением, вы сможете сделать это, настроив необходимые параметры. Разделы Этап неравномерного распределения и Таблица неравномерного распределения обновятся соответствующим образом.

  • Этап с отклонением . Второй раздел отображает этапы, в которых сложены задачи, соответствующие ранее заданным критериям. Если на этапе существует несколько задач с размыкаемой задачей, то в таблице с размыкаемых этапов отображаются только самые сложенные задачи (например, самые большие данные для распределения данных).

    Screenshot showing spark ui diagnosis data skew tab.

  • Диаграмма с отклонением. При выборе строки в таблице этапов с размыкания диаграмма отображает дополнительные сведения о распределении задач на основе времени чтения и выполнения данных. Задачи с неравномерным распределением отмечены красным цветом, а нормальные задачи — синим. На диаграмме отображается до 100 образцов задач, а сведения о задачах отображаются в правой нижней панели.

    Screenshot showing spark ui skew chart for stage 10.

Неравномерное распределение времени

На вкладке Неравномерное распределение времени отображаются задачи с неравномерным распределением времени выполнения.

  • Укажите параметры. В первом разделе отображаются параметры , которые используются для обнаружения отклонений времени. По умолчанию для обнаружения неравномерного распределения времени используется следующий критерий: время выполнения задачи больше среднего времени выполнения, умноженного на три, и превышает 30 секунд. Параметры можно изменить в соответствии с вашими потребностями. На диаграмме "Сложенный этап" и "Диаграмма с отклонением" отображаются соответствующие этапы и задачи, как описано выше на вкладке "Отклонение данных".

  • Щелкните Неравномерное распределение времени. В разделе Этап неравномерного распределения отобразятся отфильтрованные результаты в соответствии с параметрами, заданными в разделе Укажите параметры. Выберите один элемент в разделе "Этап с отклонением ", затем соответствующая диаграмма создается в разделе 3, а сведения о задаче отображаются на правой нижней панели.

    Screenshot showing spark ui diagnosis time skew section.

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

Эта функция устарела в Fabric. Если вы по-прежнему хотите использовать это в качестве обходного решения, обратитесь к странице, явно добавив "/исполнителя" за путь "/diagnostic" в URL-адрес, как показано ниже:

Screenshot showing modify the url.