Амазонка ЭМИ — это сервис больших данных, предлагаемый AWS для запуска Apache Spark и других приложений с открытым исходным кодом на AWS для экономичного создания масштабируемых конвейеров данных. Мониторинг журналов, созданных для заданий, развернутых в кластерах EMR, необходим для выявления критических проблем в режиме реального времени и быстрого выявления основных причин.
Нажимая эти журналы в Amazon CloudWatch позволяет централизовать и использовать оперативную аналитику из журналов для решения операционных проблем без необходимости выделять серверы или управлять программным обеспечением. Вы можете сразу начать писать запросы с агрегациями, фильтрами и регулярными выражениями. Кроме того, вы можете визуализировать данные временных рядов, детализировать отдельные события журнала и экспортировать результаты запросов на информационные панели CloudWatch.
Для приема журналов, которые хранятся на Эластичное вычислительное облако Amazon (Amazon EC2) экземпляров кластера EMR в CloudWatch, вы можете использовать Агент CloudWatch. Это обеспечивает простой способ передачи журналов из инстанса EC2 в CloudWatch.
Агент CloudWatch — это программный пакет, который автономно и непрерывно работает на ваших серверах. Вы можете установить и настроить агент CloudWatch для сбора системных журналов и журналов приложений из инстансов EC2, локальных хостов и контейнерных приложений. CloudWatch обрабатывает и сохраняет журналы, собранные агентом CloudWatch, что дополнительно помогает отслеживать производительность и работоспособность вашей инфраструктуры и приложений.
В этом посте мы создадим кластер EMR и централизуем журналы шагов EMR заданий в CloudWatch. Это облегчит вам управление кластером EMR, устранение неполадок и мониторинг производительности. Это решение особенно полезно, если вы хотите использовать CloudWatch для сбора и визуализации журналов, метрик и данных о событиях в реальном времени, оптимизируя вашу инфраструктуру и обслуживание приложений.
Обзор решения
Решение, представленное в этом посте, основано на конкретной конфигурации, в которой для уровня параллелизма шага EMR установлено значение 1. Это означает, что в кластере одновременно выполняется только один шаг. Важно отметить, что если для уровня параллелизма шага EMR задано значение больше 1, решение может работать не так, как ожидалось. Мы настоятельно рекомендуем проверить ваш Параллелизм шага EMR конфигурации перед внедрением решения, представленного в этом посте.
Следующая диаграмма иллюстрирует архитектуру решения.
Рабочий процесс включает в себя следующие шаги:
- Пользователи запускают задание Apache Spark EMR, создавая шаг в кластере EMR. С помощью Apache Spark рабочая нагрузка распределяется по разным узлам кластера EMR.
- В каждом узле (экземпляре EC2) кластера агент CloudWatch просматривает разные каталоги журналов, фиксируя новые записи в файлах журналов и отправляя их в CloudWatch.
- Пользователи могут просматривать журналы шагов, получая доступ к различным группам журналов из консоли CloudWatch. Журналы шагов, созданные Amazon EMR, выглядят следующим образом:
- контроллер — Информация об обработке шага. Если ваш шаг завершается ошибкой при загрузке, вы можете найти трассировку стека в этом журнале.
- STDERR — Стандартный канал ошибки Spark при обработке шага.
- стандартный вывод — Стандартный выходной канал Spark при обработке шага.
Мы предоставляем AWS CloudFormation шаблон в этом посте в качестве общего руководства. В шаблоне показано, как настроить агент CloudWatch в Amazon EMR для отправки журналов Spark в CloudWatch. Вы можете просмотреть и настроить его по мере необходимости, включив в него свои конфигурации безопасности Amazon EMR. Мы рекомендуем включить ваши конфигурации безопасности Amazon EMR в шаблон, чтобы зашифровать данные при передаче.
Вы также должны знать, что некоторые ресурсы, развернутые этим стеком, несут затраты, когда они продолжают использоваться.
В следующих разделах мы проходим следующие шаги:
- Создайте и загрузите сценарий начальной загрузки в Простой сервис хранения Amazon (Amazon S3) ведро.
- Используйте шаблон CloudFormation для создания следующих ресурсов:
- Отслеживайте журналы Spark на консоли CloudWatch.
Предпосылки
Этот пост предполагает, что у вас есть следующее:
Создайте и загрузите сценарий начальной загрузки в корзину S3.
Для получения дополнительной информации см. Загрузка объектов и Установка и запуск агента CloudWatch на ваших серверах.
Чтобы создать и загрузить скрипт начальной загрузки, выполните следующие действия:
- Создайте локальный файл с именем
bootstrap_cloudwatch_agent.sh
со следующим содержанием: - На консоли Amazon S3 выберите корзину S3.
- На Объекты , выберите Загрузите.
- Выберите Добавить файлы, затем выберите скрипт начальной загрузки.
- Выберите Загрузите, затем выберите имя файла:
bootstrap_cloudwatch_agent.sh
. - Выберите Копировать S3 URI. Мы используем это значение на более позднем этапе.
Предоставление ресурсов с помощью шаблона CloudFormation
Выберите Стек запуска чтобы запустить стек CloudFormation в своей учетной записи и развернуть шаблон:
Этот шаблон создает роль IAM, профиль экземпляра IAM, параметр Systems Manager и кластер EMR. Кластер запускает Пример приложения для оценки PI Spark. Если вы создадите стек на основе этого шаблона, вам будет выставлен счет за использованные ресурсы AWS.
Мастер CloudFormation попросит вас изменить или указать следующие параметры:
- Тип экземпляра - тип экземпляра для всех групп экземпляров. По умолчанию используется m4.xlarge.
- ЭкземплярКаунтКоре – Количество экземпляров в основной группе экземпляров. По умолчанию 2.
- EMRRReleaseLabel - Этикетка выпуска Amazon EMR вы хотите использовать. По умолчанию используется emr-6.9.0.
- BootstrapScriptPath – Путь S3 к загрузочному сценарию установки агента CloudWatch, который вы скопировали ранее.
- Subnet – Подсеть EC2, в которой запускается кластер. Вы должны указать этот параметр.
- EC2KeyPairName – Необязательная пара ключей EC2 для подключения к узлам кластера в качестве альтернативы Session Manager.
Мониторинг потоков журналов
После успешного развертывания стека CloudFormation в консоли CloudWatch выберите Группы журналов в панели навигации. Затем отфильтруйте группы журналов по префиксу /aws/emr/master
.
Идентификатор в группе журналов соответствует идентификатору экземпляра EC2 основного узла EMR. Если у вас есть несколько кластеров EMR, вы можете использовать этот идентификатор для идентификации конкретного кластера EMR на основе идентификатора основного узла.
В группе журналов вы найдете три разных потока журналов.
Потоки журналов содержат следующую информацию:
- шаг-стандартный вывод — Стандартный выходной канал Spark при обработке шага.
- шаг-stderr – Стандартный канал ошибки Spark при обработке шага.
- шаговый регулятор – Информация об обработке шага. Если ваш шаг завершается ошибкой при загрузке, вы можете найти трассировку стека в этом журнале.
Убирать
Чтобы избежать будущих списаний с вашей учетной записи, удалите ресурсы, которые вы создали в этом пошаговом руководстве. Кластер EMR будет взимать плату, пока кластер активен, поэтому остановите его, когда закончите.
- В консоли CloudFormation на панели навигации выберите Стеки.
- Выберите стек, который вы запустили (
EMR-CloudWatch-Demo
), тогда выбирай Удалить. - Опорожните ведро S3 вы создали.
- Удалить корзину S3 вы создали.
Заключение
Теперь, когда вы выполнили действия, описанные в этом пошаговом руководстве, у вас есть агент CloudWatch, работающий на узлах вашего кластера и настроенный для отправки журналов шагов EMR в CloudWatch. С помощью этой функции вы можете эффективно отслеживать работоспособность и производительность своих заданий Spark, выполняемых в Amazon EMR, обнаруживать критические проблемы в режиме реального времени и быстро выявлять основные причины.
Вы можете упаковать и развернуть это решение с помощью шаблона CloudFormation, такого как этот пример шаблона, который создает роль профиля экземпляра IAM, параметр Systems Manager и кластер EMR.
Чтобы продвинуться дальше, рассмотрите возможность использования этих журналов в оповещениях CloudWatch для оповещений о фильтр групповой метрики журнала. Вы можете собрать их вместе с другими будильниками в составная тревога или настроить действия по тревоге, такие как отправка Amazon Простая служба уведомлений (Amazon SNS) уведомления для запуска процессов, управляемых событиями, таких как AWS Lambda функции.
Об авторе
Эннио Пасторе является старшим архитектором данных в команде AWS Data Lab. Он энтузиаст всего, что связано с новыми технологиями, которые положительно влияют на бизнес и жизнь в целом. Эннио имеет более чем 10-летний опыт работы в области анализа данных. Он помогает компаниям определять и внедрять платформы данных в различных отраслях, таких как телекоммуникации, банковское дело, игры, розничная торговля и страхование.
- SEO-контент и PR-распределение. Получите усиление сегодня.
- Платоблокчейн. Интеллект метавселенной Web3. Расширение знаний. Доступ здесь.
- Источник: https://aws.amazon.com/blogs/big-data/push-amazon-emr-step-logs-from-amazon-ec2-instances-to-amazon-cloudwatch-logs/
- :является
- 1
- 10
- 100
- 9
- a
- О нас
- доступа
- Учетная запись
- через
- действия
- активный
- дополнение
- адрес
- Агент
- Часы работы
- оповещений
- Все
- альтернатива
- Amazon
- Amazon EC2
- Амазонка ЭМИ
- аналитика
- и
- апаш
- Apache Spark
- Применение
- Приложения
- архитектура
- МЫ
- AS
- At
- автономно
- AWS
- Банковское дело
- основанный
- BE
- до
- начинать
- ЛУЧШЕЕ
- большой
- Big Data
- Начальная загрузка
- строить
- бизнес
- by
- CAN
- Захват
- Причины
- Канал
- расходы
- Выберите
- Кластер
- собирать
- Компании
- полный
- Заполненная
- Вычисление
- Конфигурация
- Соединительный
- Рассматривать
- Консоли
- содержание
- непрерывно
- Основные
- соответствует
- рентабельным
- Расходы
- может
- Создайте
- создали
- создает
- Создающий
- критической
- настроить
- данным
- Анализ данных
- По умолчанию
- демонстрирует
- развертывание
- развернуть
- развертывает
- различный
- каталоги
- распределенный
- вниз
- управлять
- каждый
- Ранее
- легче
- эхо
- фактически
- позволяет
- энтузиаст
- ошибка
- существенный
- Эфир (ETH)
- События
- События
- многое
- пример
- ожидаемый
- опыт
- экспорт
- выражения
- не удается
- Особенность
- Файл
- Файлы
- фильтр
- фильтры
- Найдите
- после
- следующим образом
- Что касается
- от
- Функции
- далее
- будущее
- игровой
- Общие
- генерируется
- Go
- большой
- группы
- Группы
- инструкция
- Есть
- Медицина
- помощь
- полезный
- помогает
- очень
- хостов
- Как
- How To
- HTML
- HTTP
- HTTPS
- IAM
- ID
- определения
- идентифицирующий
- Влияние
- осуществлять
- Осуществляющий
- важную
- in
- включают
- включает в себя
- В том числе
- individual
- промышленности
- информация
- Инфраструктура
- устанавливать
- Установка
- пример
- страхование
- Интеллекта
- вопросы
- IT
- работа
- Джобс
- JPG
- JSON
- лаборатория
- запуск
- запустили
- запускает
- уровень
- такое как
- погрузка
- локальным
- Длинное
- техническое обслуживание
- сделать
- управлять
- менеджер
- способ
- означает
- Метрика
- изменять
- монитор
- Мониторинг
- БОЛЕЕ
- с разными
- имя
- Названный
- Навигация
- необходимый
- нуждающихся
- Новые
- Новые технологии
- следующий
- узел
- узлы
- уведомление
- Уведомления
- номер
- of
- предложенный
- on
- ONE
- с открытым исходным кодом
- оперативный
- Другие контрактные услуги
- выходной
- пакет
- хлеб
- параметр
- параметры
- особый
- особенно
- путь
- производительность
- Платформы
- Платон
- Платон Интеллектуальные данные
- ПлатонДанные
- положительный
- После
- практика
- представлены
- первичный
- Процессы
- обработка
- Профиль
- обеспечивать
- приводит
- обеспечение
- Push
- Нажимать
- быстро
- реальные
- реального времени
- рекомендовать
- регулярный
- Связанный
- освободить
- оставаться
- Полезные ресурсы
- Итоги
- розничный
- обзоре
- Роли
- корень
- Run
- Бег
- масштабируемые
- разделах
- безопасность
- отправка
- старший
- Серии
- обслуживание
- Сессия
- набор
- должен
- просто
- So
- Software
- Решение
- некоторые
- Искриться
- конкретный
- стек
- стандарт
- Начало
- Начало
- начинается
- Шаг
- Шаги
- Stop
- диск
- магазины
- упорядочение
- потоки
- подсети
- Успешно
- такие
- Судо
- система
- системы
- взять
- команда
- технологии
- связь
- шаблон
- который
- Ассоциация
- Их
- Эти
- три
- Через
- время
- Временные ряды
- в
- прослеживать
- вызвать
- использование
- ценностное
- проверка
- Вид
- прохождение
- часы
- Путь..
- который
- в то время как
- будете
- без
- Работа
- рабочий
- письмо
- письменный
- YAML
- лет
- ВАШЕ
- зефирнет