Поделиться через


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

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

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

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

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

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

Снимок экрана: открытие веб-интерфейса Spark из записной книжки индикатора хода выполнения.

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

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

Снимок экрана: открытие веб-интерфейса Spark на странице сведений о приложении Apache Spark.

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

Снимок экрана: кнопка отображает пользовательский интерфейс Spark в состоянии выполнения.

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

Снимок экрана: кнопка отображает пользовательский интерфейс Spark в состоянии окончания.

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

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

Обзор

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

Снимок экрана: идентификатор задания приложения Spark и графа заданий.

Отображать

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

Снимок экрана: отображение приложения Spark и графа заданий.

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

Снимок экрана: тепловая карта приложения Spark и диаграммы заданий.

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

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

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

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

Снимок экрана: пример цвета приложения Spark и графа заданий, запущенный.

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

Снимок экрана: пример цвета приложения Spark и графа заданий, пропустить.

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

Снимок экрана: пример цвета приложения Spark и графа заданий, произошел сбой.

Примечание.

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

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

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

Снимок экрана: масштабирование приложения Spark и графа заданий.

Подсказки

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

Снимок экрана: подсказка для приложения Spark и диаграммы заданий.

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

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

Снимок экрана: значок с помощью приложения Spark и диаграммы заданий.

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

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

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

Примечание.

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

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

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

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

Снимок экрана: отзыв о приложении Spark и графе заданий.

Ограничение номера стадии

Для повышения производительности граф по умолчанию доступен только в том случае, если приложение Spark имеет менее 500 этапов. Если существует слишком много этапов, ошибка завершится ошибкой следующим образом:

The number of stages in this application exceeds limit (500), graph page is disabled in this case.

В качестве обходного решения перед запуском приложения Spark примените эту конфигурацию Spark, чтобы увеличить ограничение:

spark.ui.enhancement.maxGraphStages 1000

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

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

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

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

Снимок экрана: вкладка

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

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

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

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

    Снимок экрана: вкладка

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

    Снимок экрана: диаграмма с размыкаемого интерфейса Spark для этапа 10.

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

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

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

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

    Снимок экрана: раздел

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

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

Снимок экрана: изменение URL-адреса.