Курс hadoop для инженеров данных

Преимущества и недостатки Флинк

Ключевыми достоинствами Apache Flink можно назвать следующие :

  • высокая производительность — приложения Флинк могут распараллеливаться в тысячи задач, которые распределяются и выполняются в кластере одновременно, используя практически неограниченное количество процессоров, основной памяти, дискового и сетевого ввода-вывода. Кроме того, Flink легко поддерживает очень большое состояние приложения. Его асинхронный и инкрементный контрольный алгоритм обеспечивает минимальное влияние на задержки обработки, гарантируя точную согласованность состояния за один раз.
  • низкое время задержки, достигаемое, в т.ч. за счет собственной подсистемы управления памятью и ее эффективного использования – приложения Флинк оптимизированы для локального доступа. Состояние задачи (stateful) сохраняется в локально памяти или, если его размер превышает доступную память, на жестком диске.
  • веб-интерфейс, который отображает граф обработки данных и позволяет посмотреть, сколько данных каждой подзадачи обработал конкретный worker. Благодаря этому можно определить, какой участок кода работает с задержкой, т.е. какой процент данных не успел обработаться и где .
  • отказоустойчивость – Flink гарантирует согласованность состояния приложений в случае сбоев, периодически и асинхронно проверяя локальное состояние на необходимость перемещения в долговечное хранилище;
  • гибкая работа с потоковыми данными – поддержка временных и неисправных событий, непрерывная потоковая модель передачи с обратным воздействием, реализация концепции «окон» для избирательной обработки данных в определенном временном промежутке (подробно механизм временных окон мы описывали здесь на примере Apache Kafka Streams);
  • 2 режима работы с данными в 1 среде – потоковая передача и пакетная обработка;
  • специализированная поддержка итерационных вычислений (машинное обучение, анализ графов).

Принцип работы Apache Flink

При всех вышеперечисленных достоинствах, для Флинк характерны следующие недостатки:

  • даже при наличии отказоустойчивого хранилища состояний для приложений (stateful), которое поддерживает механизм контрольных точек (checkpoints), из него нельзя восстановиться при изменении кода ;
  • многие библиотеки Flink до сих пор находятся в бета-режиме , что затрудняет его использование в крупных Big Data проектах корпоративного сектора, где требуется высокая надежность .

Сравнению Flink с Apache Spark, другим популярным фреймворком потоковой обработки больших данных мы посвятили отдельную статью.

Источники

  1. https://ru.bmstu.wiki/Apache_Flink
  2. https://habr.com/ru/company/ivi/blog/347408/
  3. https://medium.com/@chandanbaranwal/spark-streaming-vs-flink-vs-storm-vs-kafka-streams-vs-samza-choose-your-stream-processing-91ea3f04675b

Cloudera Enterprise Manager: чем CDH отличается от других дистрибутивов Apache Hadoop

Уникальным отличием CDH от других дистрибутивов Big Data инфраструктуры на основе Apache Hadoop является Cloudera Manager — собственная специализированная подсистема управления кластером. Она включает сценарии развёртывания Hadoop-инфраструктуры и средства Apache Maven, что позволяет автоматизировать создание и модификацию локальных и облачных Hadoop-сред, отслеживать и анализировать эффективность выполнения заданий, настраивать оповещения о наступлении событий, связанных с эксплуатацией инфраструктуры распределённой обработки данных .

Существует бесплатная версия Cloudera Manager, которая ограничена 50-ю узлами и не поддерживает мониторинг производительности, управление версиями конфигурации, сетевой протокол аутентификации Kerberos. Коммерческая версия Cloudera считается достаточно дорогой за счет высокой стоимости технического сопровождения (примерно $4 тысяч в год за узел кластера) , поэтому позволить ее себе могут только очень крупные компании.

Платный вариант CDH называется Enterprise и включает Cloudera Manager — инструмент для развертывания, мониторинга и управления кластером, а также Cloudera Support – профессиональная поддержка от компании-разработчика по вопросам CDH и Cloudera Manager .

Модули Cloudera Enterprise

Помимо техподдержки, CDH Enterprise 4.0 включает следующие полезные компоненты :

  • Мастер настройки и управления многими кластерами из одной консоли;
  • цветовые теплокарты, которые показывают степень исправности кластеров Hadoop;
  • поддержка хранения баз метаданных в Oracle 11g, MySQL или PostgreSQL.

Другие области применения Hadoop

Hadoop является на удивление многосторонней платформой для разработки распределенных приложений; для использования всех преимуществ Hadoop нужно всего лишь по-другому взглянуть на проблему. Из видно, что обработка происходит в виде ступенчатых функций, где работа одних компонентов поддерживается другими. Это определенно не является панацеей для разработки приложений, но если вы можете взглянуть на вашу задачу с этой точки зрения, то Hadoop может быть одним из вариантов ее решения.

Hadoop помогает решать широкий круг задач, включая сортировку огромных объемов данных и разбор содержимого чрезвычайно больших файлов. Кроме того, Hadoop используется в качестве ядра различных поисковых систем, например, A9 от Amazon и система поиска информации о винах Vertical от Able Grape. Страница Hadoop Wiki содержит большой список приложений и компаний, использующих Hadoop в самых различных целях (см. раздел ).

В настоящий момент компания Yahoo! имеет самую большую промышленную систему Hadoop под управлением Linux, состоящую из 10 000 ядер и более пяти петабайт дискового пространства, распределенного по узлам DataNode. Web-индекс этой компании содержит приблизительно один триллион ссылок. Однако для ваших задач такой размах может не потребоваться, и в этом случае вы можете использовать Web-сервис Amazon Elastic Compute Cloud (EC2) для построения виртуального кластера из 20 узлов. Например, газета New York Times использовала Hadoop и EC2 для преобразования четырех терабайт TIFF-изображений (включая TIFF-изображения размером в 405 КБ, SGML-статьи размером в 3.3 МБ и XML-файлы размером в 405 КБ) в изображения PNG-формата размером по 800 КБ, и на это ушло 36 часов. Эта концепция, известная как вычислительное облако (cloud computing), является уникальным способом продемонстрировать возможности Hadoop.

Что дальше

В этой статье были рассмотрены установка и первоначальная настройка простого (псевдораспределенного) кластера Hadoop (мы использовали дистрибутив Hadoop от компании Cloudera). Я выбрал этот дистрибутив по той причине, что он упрощает процесс установки и настройки Hadoop. Вы можете найти различные дистрибутивы Hadoop (включая исходный код) на сайте apache.org. Более подробная информация содержится в разделе .

Что, если для выполнения ваших задач вам потребуется масштабировать кластер Hadoop, но ваших аппаратных ресурсов окажется недостаточно? Оказывается, популярность Hadoop обусловлена именно тем, что вы можете легко запускать его в инфраструктуре облачных вычислений на арендованных серверах с использованием предварительно собранных виртуальных машин Hadoop. Компания Amazon предоставляет в ваше распоряжение образы Amazon Machine Images (AMIs), а также вычислительные ресурсы облака Amazon Elastic Compute Cloud (Amazon EC2). В дополнение к этому корпорация Microsoft объявила о том, что ее платформа Windows Azure Services
Platform также будет поддерживать Hadoop.

Прочитав эту статью, легко увидеть, как Hadoop упрощает распределенные вычисления для обработки больших массивов данных. В следующей статье этой серии будет рассказано, как настраивать Hadoop в многоузловой конфигурации, и будут приведены дополнительные примеры. До встречи!

Похожие темы

  • Оригинал статьи Distributed data processing with Hadoop, Part 1: Getting started (EN).
  • Даг Каттинг (Doug Cutting) (EN) – бывший сотрудник Yahoo! (теперь работает в Cloudera), разработавший фреймворк Hadoop для поддержки распространения поискового механизма Nutch.
  • Основной сайт Apache Project, посвященный разработкам Hadoop (EN).
  • На сайте компании Cloudera (EN) вы можете найти предварительно собранные пакеты и виртуальные машины Hadoop, упрощающие начало работы.
  • Ознакомьтесь с лицензией (EN), официально делегированной компанией Google проекту Hadoop, благодаря которой вы можете безопасно использовать Hadoop, не беспокоясь о нарушении авторских прав. Компания Google является владельцем патента концепции Hadoop (эффективная, широко масштабируемая обработка данных, фигурирующая в патенте 7,650,331).
  • Прочитайте статьи Распределенные вычисления с помощью Linux и Hadoop (developerWorks, апрель 2009 г.) и Облачные вычисления с помощью Linux и Apache Hadoop (EN) (developerWorks, октябрь 2009), чтобы узнать больше о Hadoop и его архитектуре.
  • MapReduce: упрощенная обработка данных на больших кластерах (EN) – основополагающий документ Google, описывающий этот функциональный стиль программирования.
  • Прочитайте введение в концепцию MapReduce на Wikipedia (EN).
  • Ознакомьтесь со списком команд для утилиты Hadoop (EN) на сайте Apache.
  • Загляните в раздел Hadoop
    on the horizon (EN) и познакомьтесь с группой IBM jStart (подразделение развивающихся технологий). На странице jStart вы также узнаете о BigSheets (EN) – технологии IBM, предназначенной для расширения интеллектуальных ресурсов предприятия через Web-данные.
  • Компания Cloudera предлагает вам ряд бесплатных (и рабочих!) дистрибутивов Hadoop. Вы можете загрузить дистрибутивы для различных версий Linux, виртуальную машину и даже виртуальную машину для Amazon EC2 (EN).
  • Облако Windows Azure готовится к предоставлению Hadoop в качестве виртуальной машины (EN); Amazon предоставляет образы виртуальных машин Hadoop в рамках своей масштабируемой инфраструктуры Amazon EC2 (EN).
  • Оцените продукты IBM (EN) любым удобным для вас способом: вы можете загружать пробные версии продуктов, работать с ними в онлайновом режиме, использовать их в облачной среде или же потратить несколько часов на изучение SOA Sandbox (EN) и узнать, как можно эффективно применять сервис-ориентированную архитектуру при разработке программного обеспечения.

О курсе «Администрирование кластера Hadoop»

Продолжительность: 5 дней, 40 академических часов.

Соотношение теории к практике 40/60

Сегодня Apache Hadoop является самой популярной открытой платформой для распределенных вычислений и главной технологией больших данных (Big Data). Данный курс для администраторов Big Data содержит всю необходимую теоретическую информацию по планированию и развертыванию распределенных вычислительных кластеров на базе дистрибутивов Hadoop. Рассматриваются процессы мониторинга и оптимизации производительности системы, резервному  копированию и аварийному восстановлению узлов кластера и отдельных компонент

Особое внимание уделено настройкам безопасности системы Kerberos (Active Directory и MIT/FreeIPA)   на базе Hadoop

Курс администрирование кластера Hadoop построен на сквозных практических примерах развертывания и администрирования распределенной вычислительной среды: локально и в облачной инфраструктуре. Вы изучите особенности использования компонент Hadoop для запуска задач распределенных вычислений с  тестовыми данными. Практические занятия выполняются в кластерной среде Amazone Web Services с использованием дистрибутивов Cloudera Distributed Hadoop/ HortonWorks и Arenadata Hadoop (российский дистрибутив Hadoop в рамках программы  импортозамещения), а также программного обеспечения управления кластером Cloudera Manager/ Arenadata Hadoop / HortonWorks.

Примечание: с 1 января 2019 года данный курс «Администрирование кластера Hadoop» проводится в объединенном формате по дистрибутивам Hadoop версии 2  компаний Cloudera/HortonWorks/Arenadata на выбор для пользователей. Для корпоративного формата обучения возможна выделенная программа по одной версии дистрибутива Hadoop (уточняйте у менеджера).

Как устроен Tarantool: архитектура и принципы работы

Прежде всего отметим наиболее важные концепции Tarantool с точки зрения разработчика Big Data приложений :

  • поддержка SQL и документо-ориентированных запросов на скриптовом мультипарадигмальном языке Lua;
  • поддержка ACID-транзакций (Atomicity, Consistency, Isolation, Durability – атомарность, согласованность, изоляция, стойкость);
  • индексация по первичным ключам, с поддержкой неограниченного числа вторичных ключей и составными ключами в индексах;
  • разделение доступа на основе ACL-модели (Access Control List);
  • единый механизм упреждающей записив журнал (WAL, Write Ahead Log), который обеспечивает согласованность и сохранность данных в случае сбоя – изменения не считаются завершенными, пока не проходит запись в WAL;
  • синхронная и асинхронная репликация локально и на удаленных серверах, когда сразу несколько узлов могут обрабатывать входящие данные и получать информацию от других узлов.

Основными программными компонентами Tarantool являются следующие :

  • JIT (Just In Time) Lua-компилятор – LuaJIT;
  • Lua-библиотеки для самых распространенных приложений;
  • сервер документоориентированной NoSQL-СУБД Tarantool с 2-мя движками – резидентным (In-memory, memtx), который хранит все данные в оперативной памяти, и дисковый (vinyl), который эффективно сохраняет данные на жесткий диск, используя разделение на диапазоны, журнально-структурированные деревья со слиянием (log-structured merge trees) и классические B-деревья.

Перейдем к архитектуре: распределенный кластер Tarantool состоит из подкластеров, которые называются шарды (shard). Каждый шард хранит некоторую часть данных и представляет собой набор реплик, одна из которых является ведущим узлом, обрабатывающим все запросы на чтение и запись. При разделении (шардинге) данных они распределяются на заданное количество виртуальных сегментов с уникальными номерами. Рекомендуется задавать количество сегментов в 100-1000 раз больше, чем потенциальное число кластерных узлов с учетом масштабирования кластера в перспективе. Однако, слишком большое число сегментов может потребовать дополнительную память для хранения информации о маршрутизации, а слишком маленькое – привести к снижению степени детализации балансировки.

Итак, каждый шард хранит уникальное подмножество сегментов, причем один сегмент не может относиться к нескольким шардам одновременно. Таким образом, с архитектурной точки зрения сегментированный кластер Tarantool включает следующие компоненты :

  • хранилище (storage) – узел, который хранит подмножество набора данных. Несколько реплицируемых хранилищ составляют набор реплик (шард, shard). У каждого хранилища в наборе реплик есть роль: мастер или реплика. Мастер обрабатывает запросы на чтение и запись. Реплика обрабатывает запросы только на чтение.
  • Роутер (router) – автономный компонент, который обеспечивает маршрутизацию запросов чтения и записи от клиентского приложения к шардам. В зависимости от функций приложения, роутер работает на его уровне или на уровне хранилища. Он сохраняет топологию сегментированного кластера прозрачной для приложения, скрывая такие детали, как номер и местоположение шардов, процесс балансировки данных, отказы реплики и восстановление после них. Роутер может сам идентифицировать сегмент, если приложение четко определяет правила вычисления идентификатора сегмента на основе запроса. Для этого роутеру необходимо знать схему данных. У роутера нет постоянного статуса, он не хранит топологию кластера и не выполняет балансировку данных. Роутер поддерживает постоянный пул соединений со всеми хранилищами, созданными при запуске, что помогает избежать ошибок конфигурации.
  • Балансировщик – фоновый процесс равномерного распределения сегментов по шардам, во время которого выполняется миграция сегментов по наборам реплик. Балансировщик запускает периодически, перераспределяя данные из наиболее загруженных узлов в менее загруженные, когда предел дисбаланса в наборе реплик превышает показатель, указанный в конфигурации.

Архитектура СУБД Tarantool

Как устроена Greenplum: архитектура и принципы работы

СУБД Greenplum представляет собой несколько взаимосвязанных экземпляров базы данных PostgreSQL, объединенных в кластер по принципу массивно-параллельной архитектуры (Massive Parallel Processing, MPP) без разделения ресурсов (Shared Nothing). При этом каждый узел кластера, взаимодействующий с другими для выполнения вычислительных операций, имеет собственную память, операционную систему и жесткие диски.

Для повышения надежности к типовой топологии master-slave добавлен резервный главный сервер. Так в состав кластера Greenplum входят следующие компоненты :

  • Мастер-сервер(Master host), где развернут главный инстанс PostgreSQL (Master instance). Это точка входа в Greenplum, куда подключаются клиенты, отправляя SQL-запросы. Мастер координирует свою работу с сегментами – другими экземплярами базы данных PostgreSQL. Мастер распределяет нагрузку между сегментами, но сам не содержит никаких пользовательских данных – они хранятся только на сегментах.
  • Резервный мастер(Secondary master instance) — инстанс PostgreSQL, включаемый вручную при отказе основного мастера.
  • Сервер-сегмент (Segment host), где хранятся и обрабатываются данные. На одном хост-сегменте содержится 2-8 сегментов Greenplum – независимых экземпляров PostgreSQL с частью данных. Сегменты Гринплам бывают основные (primary) и зеркальные (mirror). Primary-сегментобрабатывает локальные данные и отдает результаты мастеру. Каждому primary-сегменту соответствует свое зеркало (Mirror segment instance), которое автоматически включается в работу при отказе primary.
  • Интерконнект (interconnect) – быстрое обособленное сетевое соединение для связи между отдельными экземплярами PostgreSQL.

Мастер взаимодействует с сегментами Гринплам следующим образом :

  • пользователь подключается к базе данных с помощью клиентских программ: psql или через API-интерфейсы типа JDBC и ODBC;
  • мастер аутентифицирует клиентские соединения и обрабатывает входящие SQL-запросы;
  • каждый сегмент для обработки запроса создает соответствующие процессы;
  • после выполнения вычислений над локальными данными сегмент возвращает результаты мастеру;
  • мастер координирует результаты от сегментов и представляет конечный итог клиентской программе.

Архитектура кластера Greenplum

Подробнее архитектуру Greenplum и основные принципы работы этой MPP-СУБД мы рассматриваем здесь. Зеркалирование сегментов обусловливает повышенную надежность, однако приводит к избыточному потреблению ресурсов и удорожанию кластера. О других достоинствах и недостатках Гринплам читайте в нашей отдельной статье.

2014

HDP 2.0

22 января 2014 года компания Microsoft сообщила о выходе Hortonworks Data Platform 2.0 для Windows. Продукт сертифицирован для Windows Server 2008 R2/Windows Server 2012/2012 R2.

В обновленной платформе разработчикам доступен удобный Windows-инсталлятор для развёртывания Hadoop 2.0 на одном компьютере. В наличии «песочница» (sandbox), эмулирующая кластер из нескольких узлов.

В рамках выхода HDP 2.0 для Windows компания Hortonworks сообщила об обновлении NoSQL СУБД Apache HBase до версии 0.96 (теперь можно делать слепки БД).

Начата вторая фаза проекта Stinger — ускорителя для движка Apache Hive, поддерживающего SQL-запросы к Hadoop. На фоне недавней публикации фирмой Cloudera результатов тестирования аналогичного движка Impala, опередившего Hive в десятки раз, этот анонс ускорения Hive в 100 раз на петабайтных объёмах весьма актуален.

Apache Hadoop 2.0

Глав­ным нов­ше­ством плат­фор­мы ста­нет ме­ха­низм управ­ле­ния за­да­ча­ми Yarn, при­зван­ный упро­стить раз­ра­бот­ку при­ло­же­ний Hadoop. До сих пор об­ра­бот­ка задач в Hadoop, осу­ществ­ля­е­мая с по­мо­щью ме­ха­низ­ма MapReduce, была воз­мож­на толь­ко в по­оче­ред­ном ре­жи­ме. Yarn же поз­во­лит вы­пол­нять за­да­чи па­рал­лель­но. Новый ме­ха­низм со­зда­ет кон­тей­не­ры для при­ло­же­ний, сле­дит за их по­треб­но­стя­ми в ре­сур­сах и вы­де­ля­ет до­пол­ни­тель­ные по необ­хо­ди­мо­сти. Если MapReduce од­но­вре­мен­но от­ве­чал за пла­ни­ро­ва­ние задач и управ­ле­ние ре­сур­са­ми, то Yarn раз­гра­ни­чи­ва­ет эти функ­ции.

По мне­нию экс­пер­тов, бла­го­да­ря но­во­му ме­ха­низ­му пла­ни­ро­ва­ния задач для Hadoop может по­явить­ся целая волна новых ана­ли­ти­че­ских при­ло­же­ний. Этот про­цесс уже на­чал­ся: на­при­мер, сред­ства­ми Yarn поль­зу­ет­ся Apache Tez, система ана­ли­за дан­ных в ре­жи­ме ре­аль­но­го вре­ме­ни, уско­ря­ю­щая вы­пол­не­ние за­про­сов за счет об­ра­бот­ки в опе­ра­тив­ной памяти.

В Hadoop 2.0 по­явил­ся еще ряд новых ком­по­нен­тов, в том числе сред­ства обес­пе­че­ния вы­со­кой го­тов­но­сти и рас­ши­ре­ния мас­шта­ба ин­ди­ви­ду­аль­ных кла­сте­ров (среды Hadoop могут со­сто­ять из несколь­ких кла­сте­ров): каж­дый из них те­перь может со­дер­жать до 4 тыс. серверов.

Платформа Hadoop станет стандартом индустрии в 2015 году

1 декабря 2014 года аналитики компании Forrester Research озвучили прогноз, согласно которому платформа Hadoop от Apache станет стандартом де-факто для ИТ-инфраструктуры всех крупных компаний в 2015 году. Предполагается, заметный рост числа специалистов и скорости внедрения систем на платформе Hadoop.

На рынке наблюдается соответствующая тенденция к обязательной интеграции Hadoop, которую аналитики назвали «хадупономика» (Hadooponomics), она должна обеспечивать способность линейного масштабирования как хранения, так и обработки данных. «Хадупономика» тесно связана с возможностью дальнейшего активного применения облачных решений на крупных предприятиях.

Согласно отчету аналитиков, не все предприятия активно применяют Hadoop, однако важность платформы доказали многие лидирующие в своих отраслях индустрии компании: WalMart, Fidelity Investments, Sears, Verizon, USAA, Cardinal Health, Wells Fargo, Procter & Gamble, Cablevision, Nasdaq, AutoTrader, Netflix и Yelp.

Ожидается, что ANSI-совместимые возможности SQL на платформе Hadoop предоставят Hadoop все возможности для того, чтобы стать полезной платформой данных для предприятий, так как эти опции будут знакомы профессионалам в сфере управления данными и доступны на существующих системах. Все это позволит создать песочницу для анализа данных, которая не была доступна ранее.

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

Весьма вероятным видится появление новых дистрибутивов Hadoop из аналогов от HP, Oracle, SAP, Software AG и Tibco. Microsoft, Red Hat, VMware и другие вендоры операционных систем могут не найти причин для отказа от интеграции платформы в собственные ОС.

Важный фактор влияния — наличие квалифицированных кадров, способных работать с платформой Hadoop. Они должны появиться, считают эксперты. Благодаря их участию станет возможной быстрая и более эффективная реализация проектов Hadoop.

Компоненты популярных дистрибутивов Хадуп для проектов Big Data

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

Дистрибутив

Общие компоненты

Файловая система

Управление кластером, координация, планирование

Управление интеграцией и потоками данных

Обеспечение безопасности

SQL СУБД

NoSQL СУБД

Потоковая обработка данных

Брокер сообщений

Hadoop Common, MapReduse, Yarn, Tez,полнотекстовый поиск Solr, язык запросов к слабоструктурированным данным Pig  

Cloudera Manager

Sqoop, Flume

Cloudera Navigator Encrypt, Sentry, RecordService

Hive, Impala,

Spark Streaming

Mahout

Hadoop Common, MapReduse, Yarn, Tez,полнотекстовый поиск Solr, язык запросов к слабоструктурированным данным Pig

Oozie, ZooKeeper, Ambari

Sqoop, Flume, Falcon, NFC, WebHDFS

Kerberos, Ranger, Knox

Hive, HCatalog,

HBase, Accumlo,

MLLib

Hadoop Common, MapReduse, Yarn, Tez,полнотекстовый поиск Solr, язык запросов к слабоструктурированным данным Pig

MapR-FS

Oozie, ZooKeeper, Sahara

Sqoop, Flume, Hue, HttpFS

Kerberos, MapR Native Security

Drill, Hive, Impala, Spark SQL

Mahout, GraphX, MLLib

MapR Event Store

Hadoop Common, MapReduse, Yarn, Tez,полнотекстовый поиск Solr, язык запросов к слабоструктурированным данным Pig

Oozie, ZooKeeper, Ambari

Sqoop, Flume, NFC, WebHDFS,

Atlas, Ranger, Knox

NiFi, NFC, Flink

Mahout, Giraph, MLLib

Вышеприведенная таблица позволяет сделать следующие выводы:

  • Практически все дистрибутивы, кроме MapR, содержат 4 основных модуля Apache Hadoop (HDFS, MapReduce, Yarn и Hadoop Common). MapR использует MapR-FS – свою распределенную файловую систему вместо HDFS;
  • В состав каждого дистрибутива входит Apache Tez – фреймворк, работающий поверх Hadoop YARN для быстрой обработки групповых и интерактивных данных, которым нужна интеграция с Hadoop YARN, Apache Solr – продукт полнотекстового и фасетного поиска, динамической кластеризации, интеграции с базами данных и обработка документов со сложным форматом, а также Apache Pig – высокоуровневый язык программирования запросов к большим слабоструктурированным наборам данных.
  • Каждый дистрибутив содержит средства управления потоками данных Sqoop и Flume, координаторы и планировщики задач (Zookeeper и Oozie), а также реляционную СУБД Hive и NoSQL
  • Дистрибутивы отличаются средствами обеспечения безопасности, потоковой обработки данных, машинного обучения и системами распределенных брокеров программных сообщений. Для потоковой обработки MapR и Hortonworks используют Apache Storm, Cloudera — Spark Streaming, а ArenaData — NiFi, NFC, Flink. Инструменты Machine Learning в Cloudera представлены в виде Apache Mahout, в Hortonworks – Apache Spark MLLib, а MapR и ArenaData используют оба этих продукта. Наконец, почти все дистрибутивы, кроме MapR, применяют Apache Kafka для быстрой обработки программных сообщений между приложениями. MapR использует собственную альтернативу — MapR Event Store.

Использовать уже готовый дистрибутив Apache Hadoop — отличное решение

Подводя итог сходствам и различиям наиболее популярных дистрибутивов Hadoop, следует отметить, что каждый из них может успешно применяться в качестве основы для локальной инфраструктуры Big Data проектов. А, поскольку все они распространяются бесплатно, при выборе следует учитывать стоимость технической поддержки и сопровождения на вашем кластере, а также полноту программной документации

Впрочем, если вы хотите собрать свой Хадуп самостоятельно, обратите внимание на проект Apache Bigtop, о котором мы рассказываем здесь

Как работать со всеми этими и другими инфраструктурными решениями Hadoop для больших данных (развертывание, настройка, администрирование, обеспечение безопасности и использование кластера) узнайте в нашем учебном центре – практические курсы обучения пользователей, инженеров, администраторов и аналитиков Big Data в Москве

  • INTR: Основы Hadoop
  • HADM: Администрирование кластера Hadoop
  • DSEC: Безопасность озера данных Hadoop
  • HDDE: Hadoop для инженеров данных
  • BAHU: Основы Hadoop для пользователей

Смотреть расписание
Записаться на курс

Источники

  1. https://ru.wikipedia.org/wiki/Cloudera
  2. https://m.habr.com/ru/post/151062/
  3. https://mapr.com/blog/kafka-vs-mapr-streams-why-mapr/
  4. https://mapr.com/docs/61/MapROverview/c_security.html
  5. https://arenadata.tech/products/hadoop/

7 главных преимуществ продуктов Arenadata

  1. Полная локализация: для российских пользователей предлагается поддержка в России и на русском языке, с полным набором возможностей по автоматическому развертыванию в облаке и on-premises, оригинальную документацию на русском языке, а также удаленную или on-site поддержку .
  2. Возможность offline-установки: пакет утилит для развертывания без доступа к сети Интернет ;
  3. Автоматизация процессов развертывания как на «голом железе», так и на виртуальных машинах (в «облаке»). В частности, для Arenadata Hadoop средства мониторинга и управления конфигурацией кластера позволяют оптимизировать производительность каждого компонента системы. Apache Ambari обеспечивает интерфейсы для интеграции с существующими системами управления (Microsoft System Center и Teradata ViewPoint) .
  4. Отсутствие зависимости от производителя («вендор-лог») — дистрибутивы собраны на основе открытых проектов Apache Software Foundation без использования проприетарных компонентов.
  5. Адаптация для корпоративного использования — продукты ориентированы на эксплуатацию в условиях высоких нагрузок, включают широкие возможности по обеспечению информационной безопасности и защиты данных, а также содержат средства интеграции с другими популярными Big Data решениями, корпоративными информационными системами, база и хранилищами данных.
  6. Российское программное обеспечение: в 2017 году Минкомсвязь РФ включило Arenadata Hadoop в Единый реестр российских программ для электронных вычислительных машин и баз данных . В 2018  и 2019 аналогичным образом были зарегистрированы ADB и ADS.
  7. Гибкая ценовая политика — каждый продукт компании Arenadata доступен в двух версиях: бесплатной (community) и платной (enterprise), которые отличаются друг от друга составом компонентов и функциональными возможностями. Бесплатный пакет включает ядро проекта и небольшую часть собственных разработок компании Arenadata. Enterprise-версия представляет собой максимально полное решение, созданное вендором .

Где используются некоторые продукты Аренадата, читайте в отдельной статье.

Источники

  1. Сайт компании производителя Arenadata 
  2. https://www.ibs.ru/media/news/distributiv-arenadata-hadoop-vklyuchen-v-reestr-rossiyskogo-po/

Что такое Arenadata DB

Arenadata DB (ADB) – это масштабируемая кластерная СУБД на базе аналитической массивно-параллельной системы с открытым исходным кодом Greenplum. Концепция MPP (massively parallel processing, массивно-параллельные вычисления) позволяет надежно хранить и быстро анализировать большие объемы структурированных и слабоструктурированных данных (до сотен терабайт).

В ADB используется полиморфное хранение данных, когда одну таблицу можно разделить на вертикальные разделы (partitions), часть из которых будет храниться в виде строк, а часть – как колоночные объекты. При этом для пользователя такая таблица остается одним объектом .

Информационная безопасность хранения и передачи данных в ADB обеспечивается поддержкой защищенного протокола SSL и шифрованием с помощью ключей PGP (на уровне таблиц или колонок в таблицах), а также ролевой модели доступа к данным (Role Based Access Control, RBAC). Гибкость и производительность при обмене данными с внешними системами реализуется за счет протокола параллельного обмена PXF (Platform eXtension Framework), который обеспечивает взаимодействие с внешней системой одновременно всех сегментов кластера. Отказоустойчивость распределенной СУБД достигается за счет настраиваемой системы резервирования .

Apache Hive и Cloudera Impala: что это и как используется в SQL для Big Data

Прежде всего отметим, что Hive и Impala не конкурируют, а, скорее эффективно дополняют друг друга. Между этими системами довольно много общего, но есть некоторые различия . Прежде всего, отметим их основное назначение и некоторые аспекты, особенно важные для практического использования.

Обе рассматриваемые платформы свободно распространяются под лицензией Apache Software Foundation и относятся к SQL-средствам работы с данными, хранящимися в кластере Hadoop. Помимо распределенной файловой системы Apache Hadoop, HDFS, Hive и Импала обеспечивают интерактивные SQL-запросы к данным, хранящимся в HBase или Amazon Simple Storage Service (S3).

Как правило, Hive используется инженерами данных (Data Engineer) в ETL-процессах (Extract, Transform, Load), например, для длительных пакетных заданий на больших наборах данных, в частности, веб-журналах. В этом случае ключевыми преимуществами Hive являются его масштабируемость (расширяется динамически при добавлении машины к кластеру Hadoop), расширяемость за счет MapReduce и определяемых пользователем функций (UDF/UDAF/UDTF), отказоустойчивость и способность работать с различными форматами входных данных (TEXTFILE, Sequence, ORC и RCFILE, а также Parquet с помощью специального плагина в версиях позже 0.10). При этом Hive не поддерживает интерактивное выполнение запросов в режиме реального времени, а потому не может использоваться в OLTP-задачах .

В свою очередь, Cloudera Impala, предназначенная, главным образом, для аналитиков и ученых по данным (Data Analyst, Data Scientist), представляет собой открытую базу данных для Apache Hadoop. Импала обеспечивает быстрые интерактивные SQL-запросы с низкой временной задержкой (low latency) на лету. В отличие от Hive, где поддерживается вычислительная модель MapReduce, Impala основана на массивно-параллельной архитектуре (MPP, Massively Parallel Processing). MPP активно используется в других аналитических СУБД стека Big Data (Greenplum Database, Arenadata DB, Teradata и др.). Импала работает со многими форматами данных (LZO, Avro, RCFile, Parquet), реализуя распределенные SQL-запросы в кластерной среде, что обусловливает ее высокую скорость работы по сравнению с Хайв . Подробнее про сходства и различия Apache Hive и Impala мы расскажем в следующей статье, а сейчас рассмотрим несколько практических примеров эффективного сочетания этих двух SQL-инструментов в разных Big Data проектах.

Обработка SQL-запросов в экосистеме Hadoop

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *