Amazon EMR – це служба великих даних, яку пропонує AWS для запуску Apache Spark та інших програм із відкритим кодом на AWS для створення масштабованих конвеєрів даних економічно ефективним способом. Моніторинг журналів, створених із завдань, розгорнутих на кластерах EMR, є важливим для виявлення критичних проблем у режимі реального часу та швидкого виявлення основних причин.
Засунути ці колоди Amazon CloudWatch дає змогу централізувати та керувати дієвою інформацією з ваших журналів для вирішення операційних проблем без необхідності надання серверів або керування програмним забезпеченням. Ви можете миттєво почати писати запити з агрегаціями, фільтрами та регулярними виразами. Крім того, ви можете візуалізувати дані часових рядів, детально переглядати окремі події журналу та експортувати результати запитів на інформаційні панелі CloudWatch.
Щоб отримати журнали, які зберігаються на Обчислювальна хмара Amazon Elastic (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 під час обробки кроку.
- stdout — Стандартний вихідний канал 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 попросить вас змінити або надати ці параметри:
- InstanceType - The тип примірника для всіх груп екземплярів. Типовим є m4.xlarge.
- InstanceCountCore – Кількість примірників у основній групі примірників. За замовчуванням 2.
- EMRReleaseLabel - The Етикетка випуску Amazon EMR ви хочете використовувати. Типовим є emr-6.9.0.
- BootstrapScriptPath – Шлях S3 вашого початкового сценарію встановлення агента CloudWatch, який ви скопіювали раніше.
- Підмережа – Підмережа EC2, де запускається кластер. Ви повинні вказати цей параметр.
- EC2KeyPairName – Додаткова пара ключів EC2 для підключення до вузлів кластера як альтернатива Session Manager.
Відстежуйте потоки журналів
Після успішного розгортання стека CloudFormation виберіть на консолі CloudWatch Групи журналів на панелі навігації. Потім відфільтруйте групи журналів за префіксом /aws/emr/master
.
Ідентифікатор у групі журналу відповідає ідентифікатору екземпляра EC2 основного вузла EMR. Якщо у вас є кілька кластерів EMR, ви можете використовувати цей ідентифікатор для ідентифікації конкретного кластера EMR на основі ідентифікатора основного вузла.
У групі журналу ви знайдете три різні потоки журналу.
Потоки журналів містять таку інформацію:
- step-stdout – Стандартний вихідний канал Spark під час обробки кроку.
- крок-stderr – Стандартний канал помилок Spark під час обробки кроку.
- кроковий контролер – Інформація про обробку кроку. Якщо під час завантаження ваш крок не вдається, ви можете знайти трасування стека в цьому журналі.
Прибирати
Щоб уникнути майбутніх платежів у вашому обліковому записі, видаліть ресурси, створені в цьому покроковому керівництві. Кластер EMR стягуватиме плату, доки кластер активний, тому зупиніть його, коли закінчите.
- На консолі CloudFormation на панелі навігації виберіть Стеки.
- Виберіть стек, який ви запустили (
EMR-CloudWatch-Demo
), потім виберіть видаляти. - Спорожніть відро S3 ви створили.
- Видаліть сегмент S3 ви створили.
Висновок
Тепер, коли ви виконали кроки в цьому покроковому керівництві, у вас є агент CloudWatch, який працює на ваших хостах кластера та налаштований для надсилання журналів кроків EMR до CloudWatch. За допомогою цієї функції ви можете ефективно контролювати стан і ефективність завдань Spark, які виконуються на Amazon EMR, виявляючи критичні проблеми в реальному часі та швидко визначаючи першопричини.
Ви можете запакувати та розгорнути це рішення за допомогою шаблону CloudFormation, подібного до цього прикладу шаблону, який створює роль профілю примірника IAM, параметр Systems Manager і кластер EMR.
Щоб розробити це далі, подумайте про використання цих журналів у будильниках CloudWatch для сповіщень на a фільтр групи-метрики журналу. Ви можете зібрати їх разом з іншими будильниками в a композитна сигналізація або налаштувати дії тривоги, такі як надсилання Служба простих сповіщень Amazon (Amazon SNS) для запуску процесів, керованих подіями, наприклад AWS Lambda функції.
Про автора
Енніо Пасторе є старшим архітектором даних у команді AWS Data Lab. Він є ентузіастом всього, що пов’язано з новими технологіями, які позитивно впливають на бізнес і загальний рівень життя. Енніо має понад 10 років досвіду в аналітиці даних. Він допомагає компаніям визначати та впроваджувати платформи даних у таких галузях, як телекомунікації, банківська справа, ігри, роздрібна торгівля та страхування.
- Розповсюдження контенту та PR на основі SEO. Отримайте посилення сьогодні.
- Платоблокчейн. Web3 Metaverse Intelligence. Розширені знання. Доступ тут.
- джерело: 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
- Amazon EMR
- аналітика
- та
- Apache
- Apache Spark
- додаток
- застосування
- архітектура
- ЕСТЬ
- AS
- At
- автономно
- AWS
- Banking
- заснований
- BE
- перед тим
- починати
- КРАЩЕ
- Великий
- Великий даних
- Bootstrap
- будувати
- підприємства
- by
- CAN
- захопивши
- Причини
- Канал
- вантажі
- Вибирати
- кластер
- збирати
- Компанії
- повний
- Зроблено
- обчислення
- конфігурація
- З'єднувальний
- Вважати
- Консоль
- зміст
- постійно
- Core
- відповідає
- рентабельним
- витрати
- може
- створювати
- створений
- створює
- створення
- критичний
- налаштувати
- дані
- Analytics даних
- дефолт
- демонструє
- розгортання
- розгорнути
- розгортає
- різний
- каталоги
- розподілений
- вниз
- управляти
- кожен
- Раніше
- легше
- нудьгувати
- фактично
- дозволяє
- ентузіаст
- помилка
- істотний
- Ефір (ETH)
- Event
- Події
- все
- приклад
- очікуваний
- досвід
- експорт
- вирази
- зазнає невдачі
- особливість
- філе
- Файли
- фільтрувати
- Фільтри
- знайти
- після
- слідує
- для
- від
- Функції
- далі
- майбутнє
- азартні ігри
- Загальне
- генерується
- Go
- великий
- Group
- Групи
- керівництво
- Мати
- здоров'я
- допомога
- корисний
- допомагає
- дуже
- хостів
- Як
- How To
- HTML
- HTTP
- HTTPS
- IAM
- ID
- ідентифікувати
- ідентифікує
- Impact
- здійснювати
- реалізації
- важливо
- in
- включати
- includes
- У тому числі
- індивідуальний
- промисловості
- інформація
- Інфраструктура
- встановлювати
- установка
- екземпляр
- страхування
- Інтелект
- питання
- IT
- робота
- Джобс
- JPG
- json
- lab
- запуск
- запущений
- запуски
- рівень
- як
- погрузка
- місцевий
- Довго
- обслуговування
- зробити
- управляти
- менеджер
- манера
- засоби
- Метрика
- змінювати
- монітор
- моніторинг
- більше
- множинний
- ім'я
- Названий
- навігація
- необхідний
- нужденних
- Нові
- Нові технології
- наступний
- вузол
- вузли
- сповіщення
- Повідомлення
- номер
- of
- запропонований
- on
- ONE
- з відкритим вихідним кодом
- оперативний
- Інше
- вихід
- пакет
- pane
- параметр
- параметри
- приватність
- особливо
- шлях
- продуктивність
- Платформи
- plato
- Інформація про дані Платона
- PlatoData
- позитивний
- пошта
- практика
- представлений
- первинний
- процеси
- обробка
- профіль
- забезпечувати
- забезпечує
- забезпечення
- Штовхати
- Натискання
- швидко
- реальний
- реального часу
- рекомендувати
- регулярний
- пов'язаний
- звільнити
- залишатися
- ресурси
- результати
- роздрібна торгівля
- огляд
- Роль
- корінь
- прогін
- біг
- масштабовані
- розділам
- безпеку
- відправка
- старший
- Серія
- обслуговування
- Сесія
- комплект
- Повинен
- простий
- So
- Софтвер
- рішення
- деякі
- Іскритися
- конкретний
- стек
- standard
- старт
- Починаючи
- починається
- Крок
- заходи
- Стоп
- зберігання
- магазинів
- упорядкування
- потоки
- підмережі
- Успішно
- такі
- Судо
- система
- Systems
- Приймати
- команда
- Технології
- зв'язок
- шаблон
- Що
- Команда
- Їх
- Ці
- три
- через
- час
- Часовий ряд
- до
- простежувати
- викликати
- використання
- значення
- перевірка
- вид
- покрокове керівництво
- годинник
- шлях..
- який
- в той час як
- волі
- з
- без
- Work
- робочий
- лист
- письмовий
- ямл
- років
- вашу
- зефірнет