Результат работы Dataproc Spark в облачной регистрации Google

Есть ли способ получить результаты заданий Dataproc Spark, отправленных в Google Cloud? Как объясняется в Dataproc docs, выход из драйвера задания (мастер для задания Spark) доступен в Dataproc- > Jobs в консоли. Есть две причины, по которым я хотел бы иметь журналы в Cloud Logging:

  • Я хотел бы видеть журналы от исполнителей. Часто главный журнал говорит "потерянный исполнитель" без дальнейших подробностей, и было бы очень полезно получить дополнительную информацию о том, что делает исполнитель.
  • Облачный журнал имеет хорошую фильтрацию и поиск

В настоящее время единственным выходом из Dataproc, который отображается в Cloud Logging, является запись элементов из нити-ниндманера- * и контейнера _ *. stderr. Вывод из моего кода приложения показан в Dataproc- > Jobs, но не в Cloud Logging, и это только вывод от мастера Spark, а не исполнителей.

Ответы

Ответ 1

TL;DR

Это не поддерживается в настоящее время, но будет поддерживаться в будущей версии Cloud Dataproc. Тем не менее, есть временное решение для руководства.

Обход

Кластеры Cloud Dataproc используют fluentd для сбора и пересылки журналов в Cloud Logging. Конфигурация fluentd - это то, почему вы просматриваете некоторые журналы, а не другие. Поэтому простой способ обхода (до тех пор, пока Cloud Dataproc не будет поддерживать детали работы в Cloud Logging), должен изменить конфигурацию flientd. Файл конфигурации для fluentd в кластере находится по адресу:

/etc/google-fluentd/google-fluentd.conf

Есть две вещи, чтобы собрать дополнительные данные, которые будут самыми легкими:

  • Добавить новый плагин fluentd на основе ваших потребностей.
  • Добавить новый файл в список существующих файлов (строка 56 имеет файлы в моем кластере)

После редактирования конфигурации вам необходимо перезапустить службу google-fluentd:

/etc/init.d/google-fluentd restart

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