Apache™ Hadoop® – это программный проект с открытым исходным кодом, предназначенный для эффективной обработки больших пакетов данных. Вместо одного большого компьютера для обработки и хранения данных Hadoop предлагает использовать для параллельного анализа огромных пакетов данных кластеры на базе стандартного аппаратного обеспечения.
В семействе Hadoop существует множество приложений и сервисов выполнения, предлагающих различные инструменты для обработки аналитических рабочих нагрузок. Сервис Amazon EMR позволяет легко создавать полностью настроенные эластичные кластеры инстансов Amazon EC2, на которых работают Hadoop и различные приложения этого семейства, и обеспечивать управление таковыми.
![Пример кластеризации Hadoop на AWS Пример кластеризации Hadoop на AWS](https://d1.awsstatic.com/International/de_DE/reg-page-header-Big-data-web-day.778d8f76ba9b1575a45de92f7fb09c8924e90370.png)
Под Hadoop обычно понимается проект Apache Hadoop, включающий MapReduce (интерфейс исполнения), YARN (менеджер ресурсов) и HDFS (распределенное хранилище). Сервис Amazon EMR также содержит связующую библиотеку EMRFS, которая позволяет Hadoop использовать Amazon S3 в качестве уровня хранения.
Однако в семействе Hadoop существуют и другие приложения и интерфейсные модули, предлагающие различные инструменты для создания запросов с низкими задержками, графических интерфейсов для интерактивных запросов, различных интерфейсов (например, SQL) и распределенных баз данных NoSQL. Семейство Hadoop содержит множество инструментов с открытым исходным кодом, предназначенных для разработки дополнительных функциональных возможностей на базе основных компонентов Hadoop. Amazon EMR можно использовать для легкой установки и настройки в своем кластере таких инструментов, как Hive, Pig, Hue, Ganglia, Oozie и HBase. Помимо Hadoop, в Amazon EMR вы также можете запускать другие интерфейсы, например Apache Spark для обработки данных в памяти или Presto для интерактивных SQL-запросов.
Сервис Amazon EMR программно устанавливает и конфигурирует приложения проекта Hadoop, включая Hadoop MapReduce, YARN и HDFS, во всех узлах кластера. Вы также можете установить дополнительные приложения, такие как Hive и Pig.
Hadoop MapReduce (сервис исполнения в Hadoop) выполняет обработку рабочих нагрузок с помощью интерфейса MapReduce, который разбивает задания на мелкие составляющие для дальнейшего распределения по узлам кластера Amazon EMR. Механизм Hadoop MapReduce, разработанный с расчетом на то, что любой компьютер в кластере может в любой момент выйти из строя, обеспечивает отказоустойчивость. Если исполняющий задание сервер выйдет из строя, Hadoop передаст это задание другому компьютеру, и так до завершения задания.
Программы MapReduce можно писать на Java, а также использовать Hadoop Streaming для параллельного исполнения собственных скриптов, приложения Hive и Pig (если вы установили их в кластере Amazon EMR) для получения более высокого уровня абстракции по сравнению с MapReduce или другие инструменты, взаимодействующие с Hadoop.
В Hadoop 2 и более новых версиях управление ресурсами осуществляется с помощью Yet Another Resource Negotiator (YARN). YARN осуществляет мониторинг ресурсов кластера и обеспечивает их динамическое распределение для решения задач по обработке данных. YARN может управлять рабочими нагрузками Hadoop MapReduce, а также другими распределенными платформами, например Apache Spark, Apache Tez и т. д.
Благодаря файловой системе EMR File System (EMRFS) кластеров Amazon EMR становится возможным использование сервиса Amazon S3 в качестве уровня хранения для Hadoop. Amazon S3 – это высокомасштабируемый экономичный сервис, предлагающий высокую надежность, благодаря чему он отлично подходит в качестве хранилища при обработке больших данных. За счет хранения данных в Amazon S3 вы сможете отделить уровень вычислений от уровня хранения, что позволит задать размер кластера Amazon EMR с учетом необходимого объема ресурсов ЦП и памяти для обработки рабочих нагрузок и исключить из структуры кластера избыточные узлы, предназначенные для максимизации кластерного хранилища. Кроме того, вы сможете останавливать кластер Amazon EMR в периоды простоя для экономии средств, при этом данные будут по-прежнему доступны в Amazon S3.
Файловая система EMRFS оптимизирована под Hadoop и позволяет эффективно осуществлять параллельные операции чтения и записи данных с сервисом Amazon S3, а также обрабатывать объекты, зашифрованные с помощью серверного и клиентского шифрования Amazon S3. EMRFS позволяет использовать Amazon S3 в качестве озера данных, при этом Hadoop в Amazon EMR можно использовать в качестве уровня эластичных запросов.
В состав Hadoop также входит система распределенного хранилища Hadoop Distributed File System (HDFS), которая позволяет хранить данные в больших блоках на локальных дисках кластера. HDFS предлагает настраиваемый коэффициент репликации (по умолчанию 3x), за счет которого обеспечивается повышенная доступность и надежность. HDFS осуществляет мониторинг репликации и балансировку данных между узлами по мере выхода узлов из строя и добавления новых узлов.
HDFS устанавливается для кластера Amazon EMR автоматически вместе с Hadoop. HDFS также можно использовать для хранения входных и выходных данных в сервисе Amazon S3. Кроме того, Amazon EMR конфигурирует Hadoop под хранение промежуточных данных, созданных при выполнении заданий Hadoop MapReduce, в HDFS и на локальных дисках, даже если входные данные хранятся в Amazon S3.
![Пример работы Hadoop на платформе AWS Пример работы Hadoop на платформе AWS](https://d1.awsstatic.com/Startups/Loft%20Photos/Loft%20General/banner_loft_gears.1f07d5d72ec430655250ce7444fbe330d83e825d.png)
![Преимущества Hadoop в облаке: скорость (значок) Преимущества Hadoop в облаке: скорость (значок)](https://d1.awsstatic.com/asset-repository/products/amazon-efs/AmazonEFS_Benefit_Performace.5113329f556fa29ac49bb272689e89302f9d00a6.png)
Вы можете быстро динамически инициализировать новый кластер Hadoop или добавить серверы в существующий кластер Amazon EMR, значительно снизив время, затрачиваемое на обеспечение доступности ресурсов пользователям и специалистам по обработке данных. Hadoop на платформе AWS позволяет значительно повысить организационную гибкость за счет сокращения расходов и времени, которое тратится на распределение ресурсов для экспериментов и разработки.
![Преимущества Hadoop в облаке: упрощение (значок) Преимущества Hadoop в облаке: упрощение (значок)](https://d1.awsstatic.com/asset-repository/benefits/simple/Benefit_Simple_Red.0a5bdc32d92583a003b8f2f7697ef6786f469e81.png)
Настройка Hadoop, работа с сетью, установка сервера и текущее административное обслуживание могут требовать значительных усилий. Управляемый сервис Amazon EMR обеспечивает соответствие требованиям платформы Hadoop, благодаря чему вы можете сосредоточиться на своей профильной деятельности.
![Преимущества Hadoop в облаке: интеграция (значок) Преимущества Hadoop в облаке: интеграция (значок)](https://d1.awsstatic.com/asset-repository/benefits/integration/Benefit_Integration_Blue.67f35d5d91e32f9ae8c1842710a38a4fcc650385.png)
Среду Hadoop можно легко интегрировать не только с Amazon EMR, но и с другими облачными сервисами, например с Amazon S3, Amazon Kinesis, Amazon Redshift и Amazon DynamoDB, для перемещения данных, создания рабочих процессов и выполнения аналитики с помощью различных сервисов платформы AWS.
![Преимущества Hadoop в облаке: экономичность (значок) Преимущества Hadoop в облаке: экономичность (значок)](https://d1.awsstatic.com/asset-repository/products/amazon-efs/AmazonEFS_Benefit_LowCost.f079ccc64d08b4c93f7a42fdd508f41c574bb809.png)
Нагрузка, создаваемая большинством задач Hadoop, неравномерна по своей природе. Например, задача ETL может исполняться ежечасно, ежедневно или ежемесячно, а задачи по моделированию в финансовых компаниях или генетическому секвенированию могут исполняться всего несколько раз в год. Hadoop в Amazon EMR позволяет легко запускать эти кластеры с рабочей нагрузкой, сохранять результаты и освобождать ресурсы Hadoop, когда они больше не нужны, чтобы избежать лишних расходов на инфраструктуру.
![Преимущества Hadoop в облаке: доступность (значок) Преимущества Hadoop в облаке: доступность (значок)](https://d1.awsstatic.com/products/workmail/AmazonWorkMail_Benefit_AnywhereAccess.5119df283f3e236c6c9a15741f35e31742736082.png)
Hadoop в Amazon EMR позволяет гибко запускать кластеры в любом количестве зон доступности в любом регионе AWS. Потенциальную проблему или угрозу, существующую в одном из регионов, можно легко обойти за несколько минут посредством запуска кластера в другой зоне.
![Преимущества Hadoop в облаке: гибкость (значок) Преимущества Hadoop в облаке: гибкость (значок)](https://d1.awsstatic.com/asset-repository/benefits/flexible/Benefit_Flexible_Yellow.eddb282a818c4473f0a10ef61756841a381d0d21.png)
Планирование ресурсов до развертывания среды Hadoop часто оборачивается простоем дорогостоящего оборудования или нехваткой мощностей. Сервис Amazon EMR позволяет распределять строго необходимое количество ресурсов, а также масштабировать их с уведомлением всего за несколько минут.
Благодаря широчайшим возможностям масштабирования Hadoop обычно используется для обработки больших данных. Для повышения производительности обработки кластера Hadoop добавьте дополнительные серверы с необходимыми объемами ресурсов ЦП и памяти.
Hadoop предлагает высокий уровень надежности и доступности при параллельной обработке вычислительных аналитических рабочих нагрузок. Благодаря сочетанию высокой доступности, надежности и масштабируемости процесса обработки Hadoop является наилучшим решением для работы с большими данными. Сервис Amazon EMR позволяет за несколько минут создать и настроить кластер инстансов Amazon EC2, на которых исполняется Hadoop, и начать извлекать пользу из своих данных.
Hadoop можно использовать для анализа данных навигации по сайту, чтобы сегментировать аудиторию и определить предпочтения пользователей. Анализ навигации и журналы впечатлений от рекламы можно также использовать для более эффективного распространения рекламных материалов.
Подробнее о том, как Razorfish использует Hadoop в Amazon EMR для анализа навигации »
Hadoop можно использовать для обработки файлов журналов, генерируемых мобильными и интернет-приложениями. Hadoop позволяет клиентам обрабатывать петабайты неструктурированных или слабоструктурированных данных, чтобы получить полезные выводы о приложениях или пользователях.
Приложения семейства Hadoop (например, Hive) позволяют пользователям задействовать Hadoop MapReduce с помощью интерфейса SQL, чтобы выполнять аналитические задачи в крупномасштабном, распределенном и отказоустойчивом хранилище данных. Hadoop можно использовать для хранения данных и создания запросов к данным любого объема.
Hadoop можно использовать для быстрой и эффективной обработки больших объемов данных генома и других больших пакетов научных данных. AWS предоставляет всем желающим доступ к данным проекта «1000 геномов» абсолютно бесплатно.
Благодаря широким возможностям масштабирования и низкой стоимости Hadoop идеально подходит для обработки типичных рабочих нагрузок ETL, таких как сбор, сортировка, объединение и агрегация пакетов больших данных для более простого потребления системами дальнейшей обработки.
Apache и Hadoop – товарные знаки Apache Software Foundation.