Ведение журнала и отладка в Qubole - PullRequest
0 голосов
/ 26 мая 2020

Как войти в Qubole / получить доступ к журналам из Spark в Qubole? Установка у меня:

  • java библиотека (JAR)
  • Zeppelin Notebook (Scala), просто вызывая метод из библиотеки
  • Spark, Кластер пряжи
  • Log4j2, используемый в библиотеке (настроен для входа в стандартный вывод)

Как я могу получить доступ к своим журналам из регистратора log4j2? Что я пробовал до сих пор:

  • Просмотр раздела «Журналы» моих интерпретаторов
  • Просмотр журналов стандартного вывода Spark UI для каждого исполнителя

1 Ответ

0 голосов
/ 28 мая 2020

При сбое задания или приложения Spark вы можете использовать журналы Spark для анализа сбоев.

Пользовательский интерфейс QDS предоставляет ссылки на журналы в пользовательском интерфейсе приложения и пользовательском интерфейсе приложения Spark.

Если вы запускаете задание или приложение Spark со страницы анализа, вы можете получить доступ к журналам через пользовательский интерфейс приложения и пользовательский интерфейс приложения Spark.

Если вы запускаете задание или приложение Spark со страницы записных книжек, вы можно получить доступ к журналам через пользовательский интерфейс приложения Spark.

Доступ к пользовательскому интерфейсу приложения Доступ к пользовательскому интерфейсу приложения Spark Вы также можете добавить дополнительные журналы для выявления ошибок и исключений в заданиях Spark или сбоях приложений.

Доступ Пользовательский интерфейс приложения Чтобы получить доступ к журналам через пользовательский интерфейс приложения на странице анализа пользовательского интерфейса QDS:

Обратите внимание на идентификатор команды, который является уникальным для задания или команды Qubole. Щелкните стрелку вниз справа от строки поиска. Страница истории поиска отображается, как показано на следующем рисунке.

.. / .. / _ images / spark-debug1.png Введите идентификатор команды в поле «Идентификатор команды» и нажмите «Применить».

Журналы любого задания Spark отображаются в пользовательском интерфейсе приложения и пользовательском интерфейсе приложения Spark, которые доступны на вкладках «Журналы» и «Ресурсы». Информация в этих пользовательских интерфейсах может использоваться для отслеживания любой информации, связанной со статусом команды.

На следующем рисунке показан пример вкладки «Журналы» со ссылками.

Щелкните гиперссылку пользовательского интерфейса приложения в журналах или вкладка Ресурсы.

Пользовательский интерфейс приложения Had oop MR отображается, как показано на следующем рисунке.

.. / .. / _ images / application-ui.png The Had oop Пользовательский интерфейс приложения MR отображает следующую информацию:

Основные журналы приложений MR Всего задач Mapper / Reducer Завершенные / Неудачные / Завершенные / Успешные задачи Примечание

Основные журналы MR-приложения соответствуют драйверу Spark журналы. Для любых проблем, связанных с драйвером Spark, вам следует проверить журналы AM (журналы драйверов).

Если вы хотите проверить исключения для неудачных заданий, вы можете щелкнуть ссылку журналов в Had oop MR страница пользовательского интерфейса приложения. Отображается страница журналов Application Master (AM), которая содержит stdout, stderr и syslog.

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

На странице "Анализ" В главном меню перейдите на страницу "Анализ". Обратите внимание на идентификатор команды, который уникален для задания или команды Qubole. Щелкните стрелку вниз справа от строки поиска. Страница истории поиска отображается, как показано на следующем рисунке. ../../_images/spark-debug1.png Введите идентификатор команды в поле «Идентификатор команды» и нажмите «Применить». Щелкните вкладку «Журналы» или вкладку «Ресурсы». Щелкните гиперссылку пользовательского интерфейса приложения Spark. На странице "Блокноты" В меню "Домой" перейдите на страницу "Блокноты".

Щелкните виджет Spark в правом верхнем углу и щелкните пользовательский интерфейс Spark, как показано на следующем рисунке.

.. /../_images/spark-ui.png ИЛИ

Щелкните значок i в абзаце, как показано на следующем рисунке.

.. / .. / _ images / spark-debug2 .png Когда вы открываете пользовательский интерфейс Spark из виджета Spark на странице записных книжек или со страницы анализа, пользовательский интерфейс приложения Spark отображается на отдельной вкладке, как показано на следующем рисунке.

.. / .. /_images/spark-application-ui.png Пользовательский интерфейс приложения Spark отображает следующую информацию:

Задания: на вкладке «Задания» отображается общее количество выполненных, успешно выполненных и неудачных заданий. Он также показывает количество этапов, на которых задание было выполнено успешно.

*

Этапы: на вкладке «Этапы» показано общее количество завершенных и неудачных этапов. Если вы хотите проверить более подробную информацию о неудачных этапах, щелкните неудачный этап в столбце Описание. Подробная информация о неисправных этапах отображается, как показано на следующем рисунке.

.. / .. / _ images / spark-app-stage.png В столбце Ошибки отображается подробное сообщение об ошибке для невыполненных задач. Вы должны записать идентификатор исполнителя и имя хоста, чтобы просмотреть подробности в журналах контейнера. Для получения дополнительных сведений о трассировке стека ошибок необходимо проверить журналы контейнера.

Хранилище: на вкладке «Хранилище» отображаются кэшированные данные, если кэширование включено.

Среда: на вкладке «Среда» отображается информация о JVM, свойствах Spark, свойствах системы и записях пути к классам, которые помогают узнать значения свойства, которое используется кластером Spark во время выполнения. На следующем рисунке показана вкладка «Среда».

.. / .. / _ images / spark-app-env.png Исполнители: На вкладке «Исполнители» отображаются журналы контейнера. Вы можете сопоставить журналы контейнера, используя идентификатор исполнителя и имя хоста, которые отображаются на вкладке «Этапы».

Spark на Qubole предоставляет следующие дополнительные поля на вкладке «Исполнители»:

Размер резидента / Размер контейнера: отображает общую физическую память, используемую в контейнере (которая представляет собой java куча исполнителя + память вне кучи) как размер резидента и настроенный размер контейнера пряжи (который представляет собой память исполнителя + накладные расходы исполнителя) как размер контейнера. Используемая куча / подтвержденная / максимальная: отображает значения, соответствующие куче исполнителя java. На следующем рисунке показана вкладка «Executors».

.. / .. / _ images / spark-app-exe c .png В столбце «Журналы» показаны ссылки на журналы контейнера. Кроме того, отображается количество задач, выполненных каждым исполнителем, с количеством активных, неудачных, завершенных и общих задач.

Примечание

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

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

и содержит журналы событий Spark. Журналы сервера истории Spark: файлы spark-yarn-org. apache .spark.deploy.history.HistoryServer-1-localhost.localdomain.log хранятся в / media / ephemeral0 / logs / spark. Журналы сервера истории Spark хранятся только на главном узле кластера.

Журналы событий Spark: файлы журнала событий Spark хранятся в / logs / hadoop /// spark-eventlogs, где:

схема - это специфика облака c Схема URI: s3: // для AWS; wasb: // или adl: // или abfs [s] для Azure; oci: // для Oracle OCI. deflo c - это место хранения по умолчанию для учетной записи QDS. cluster_id - это идентификатор кластера, как показано на странице Clusters пользовательского интерфейса QDS. cluster_inst_id - идентификатор экземпляра кластера. Для получения идентификатора экземпляра кластера обратитесь в службу поддержки Qubole.

...