BDRA – современная архитектура для аналитики больших данных

Под большими данными обычно понимают серию подходов, инструментов и методов обработки структурированных и неструктурированных данных, которые отличают огромные объёмы и значительное многообразие. Цель такой обработки — получение воспринимаемых человеком результатов.

207e02218b0d49cd99586658f9c15566.jpg


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

«Стандартная» платформа для больших данных: архитектура системы


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

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

8b50f80aa7408084cefa3ac0eba99418.png


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

С точки зрения экономичности, двухпроцессорные серверы — оптимальный вариант для большинства рабочих нагрузок Apache Hadoop. Обычно эти серверы более эффективны для распределенных вычислительных сред, чем многопроцессорные платформы. Однако они не всегда обеспечивают достаточную производительность, а в других ситуациях она наоборот избыточна. Некоторые рабочие нагрузки, например простая сортировка данных, не требуют мощности процессоров Intel Xeon. В таких случаях рациональнее выполнять такие легкие рабочие нагрузки на микросерверах. Другие задачи, наоборот, требуют значительной вычислительной мощности и применения «ускорителей». К тому же обычно отказ одного узла в таких архитектурах требует немалого времени на перераспределение данных в системе.

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

Референсная архитектура платформы для работы с большими данными


Предложенная разработчиками HPE референсная архитектура для больших данных (HPE Big Data Reference Architecture, BDRA) с оптимизированной производительностью предназначена для создания гибких высокопроизводительных и быстро развертываемых решений на основе Hadoop. В ее составе — вычислительные узлы, объединенные с ресурсами хранения данных. В отличие от описанной выше архитектуры, в BDRA применяется более гибкий подход с оптимизацией нагрузки и современной сетевой архитектурой. В результате платформа для консолидации, хранения и обработки больших данных получилась масштабируемой, простой в развертывании и использовании.

Как уже отмечалось выше, обычно в качестве узлов кластера Hadoop применяются серверы общего назначения. А что, если для вычислений использовать компактные серверы HPE Moonshot, а функцию хранения возложить на устройства с большим количеством жеских дисков — HPE Apollo 4500 или HPE Apollo 4200? Что если данные будут храниться не на локальных носителях, а на дисках внешних устройств, связанных с вычислительными узлами высокоскоростной сетью Ethernet?

Именно это и сделали разработчики HPE. Кроме очевидных выгод — экономии затрат и более простого управления системой — был достигнут существенный рост производительности (чтение/запись), подтвержденный различными тестами.

В сотрудничестве с компаниями Cloudera и Hortonworks на базе HPE Big Data Architecture были созданы совместные решения.

Оптимизация под нагрузку


В большинстве современных систем Hadoop используется файловая система Hadoop Distributed File System (HDFS) с высокой скоростью доступа и малыми задержками. В 2012 году в Hadoop YARN (Yet Another Resource Negotiator) было усовершенствовано управление и повышена эффективность использования ресурсов HDFS. В YARN для спецификации доступных приложению ресурсов используются так называемые контейнеры (ресурсы ОЗУ, ЦП и полоса пропускания сети). При таком подходе происходит «горизонтальное разделение» вычислительных ресурсов отдельных узлов между приложениями.

YARN — ключевое средство Hadoop. Его можно охарактеризовать как распределенную операционную систему для приложений больших данных. Появление в YARN концепции меток позволяет группировать вычислительные узлы и отправлять задание на конкретную группу. Тем самым можно оптимизировать нагрузку.

HPE предложили «вертикальное разделение ресурсов» — можно направлять задания на узлы, оптимизированные для конкретной нагрузки. Например, задания Hadoop MapReduce — на универсальные узлы, Hive — на энергоэффективные узлы с низковольтными процессорами, а Storm — на узлы с ускорителями. Для автоматического распределения заданий им присваиваются метки.

Вместо SAN в Hadoop используется концепция программно-определяемых систем хранения данных (Software-Defined Storage, SDS) с распределенной файловой системой на стандартных узлах хранения. При этом для работы с файлами обычно применяется Hadoop Distributed File System (HDFS), а при работе с объектами — Ceph. Кроме того, Hadoop, если этого требует нагрузка, может теперь поддерживать тиринг — автоматическое распределение данных по уровням хранения. В качестве таких уровней выступают накопители SSD, HDD, ОЗУ или архивные объектные хранилища.

d41f297bda465ab3820b2a9817d45701.png


Асимметричная архитектура Big Data Reference Architecture включает в себя разнородные вычислительные узлы и узлы хранения данных. Вычислительные узлы могут быть представлены недорогими энергоэффективными модулями, модулями с графическими ускорителями (GPU), с программируемыми процессорами (FPGA) или с увеличенной оперативной памятью. Узлы хранения могут использовать SSD или жесткие диски, архивные системы. Оптимизация узлов под нагрузку ускоряет выполнение различных приложений для работы с большими данными.

Каковы же преимущества такой архитектуры кластера Hadoop?

  1. Кластер может быть представлен как интегрированное решение, включающее вычислетельные ресурсы, объединенные встроенной сетевой инфраструктурой;
  2. Встроенная сетевая фабрика позволяет повысить интенсивность трафика в направлении «восток-запад». Как результат — возрастает пропускная способность всего кластера, коммутация становится более интеллектуальной;
  3. Применение оптимизированных под типы нагрузки узлов со специализированными ЦП и графическими процессорами, «серверов на кристалле» (server-on-chip, SOC) увеличивает производительность, вычислительную плотность и энергоэффективность;
  4. Возможности гипермасштабирования. Например, одно шасси HPE Moonshot может выполнять роль кластера из 45 узлов;
  5. Возможность построения кластеров с разнородными вычислительными узлами, что востребовано для задач глубокого анализа (Deep Learning) и нейронных сетей.


fcc9d0de569d851f03346acaadf2fb2f.png


Для обработки интенсивных вычислительных нагрузок, таких как Apache Spark, в ту же стойку можно включить высокопроизводительные узлы (high-performance computing, HPC).

a457f84696e00764ac77324f791d6dee.png


Решение HPE — ассиметричный кластер Hadoop с оптимизированными узлами.

Таким образом, в HPE отказались от традиционной парадигмы и продемонстрировали, что независимые вычислительные компоненты и компоненты хранения в кластере Hadoop позволяют создавать очень быстрые асимметричные системы. Это решение можно усовершенствовать за счет оптимизации нагрузки и применения таких средств как YARN, тиринг и присваивание заданий специализированным узлам.

67345c9d24064b51b6bde77feac600e5.png


Принципиальная схема HPE BDRA: стойка 42U объединяет вычислительные модули со встроенными коммутаторами, модули хранения данных и модули управления.

Референсная архитектура HPE BDRA позволяет консолидировать разнородные пулы данных, объединить их в единый пул, с которым можно работать, применяя технологии Hadoop, Vertica, Spark и др. Возможность гибкой адаптации к будущим нагрузкам заложена в саму архитектуру. В этом конвергентном асимметричном кластере ресурсы хранения разбиты на уровни. SAN не используется — её заменяет СХД с прямым доступом (DAS). Нагрузки и ресурсы хранения присваиваются оптимизированным для соответствующих задач узлам. В качестве интерконнекта применяется стандартный Ethernet с нативными для Hadoop протоколами обмена между вычислительными ресурсами и ресурсами хранения, такими как HDFS и HBase.

Как концепция HPE BDRA помогает существенно улучшить соотношение цена/производительность и вычислительную плотность по сравнению с традиционной архитектурой Hadoop. Благодаря современным Ethernet-фабрикам в системе не образуется узких мест при обмене данными между сервером и подсистемой хранения. Как показывает тестирование, производительность чтения в HPE BDRA на 30% превосходит показатели обычного кластера Hadoop.

Состав решения


В основе HPE BDRA — следующие технологии HPE:

3a5e0f73c1089df59c846ff34e94ab38.png


Узел хранения данных HPE Apollo 4200 Gen9.

15f02d90951d8c74e0024a5520e0e763.jpg


Узел HPE Apollo 4510 способен хранить до 544 Тбайт данных. Его рекомендуется использовать для хранения резервных копий или архива.

Узлы хранения данных — серверы HPE Apollo 4200 Gen9 образуют единое хранилище HDFS. В качестве опции может применяться HPE Apollo 4510 System — высокопроизводительная система хранения большой плотности. Она играет роль резервного/архивного хранилища.

015829383ff7a4aa0f0fb26032c8da64.jpg


Шасси HPE Moonshot System с серверными «картриджами» HPE ProLiant m710p Server Cartridge.

Вычислительные узлы — система высокой плотности HPE Moonshot System служит для выполнения вычислительных задач и оптимизации нагрузки. Серверы HPE ProLiant m710p Server Cartridge или HPE ProLiant XL170r Gen9 могут служить вычислительными узлами.

b3dc8d830a44405fb68ecf956c656805.png


Компоненты HPE BDRA: вычислительные узлы, узлы хранения данных и высокоскоростная сеть.

Гибкость конфигурации и масштабирование


Вычислительные узлы и узлы хранения данных BDRA связывает высокоскоростная сеть. Получается асимметричная архитектура, где каждый уровень можно масштабировать индивидуально. Соотношение процессоров и ресурсов хранения жестко не задается. Поскольку взаимной привязки этих ресурсов нет, можно воспользоваться многочисленными преимуществами конвергентной архитектуры. Например, масштабировать их независимо, просто добавляя соответствующие узлы в систему. Проведенное HP тестирование показывает, что нагрузка реагирует на это практически линейно. Кроме того, можно подбирать конфигурацию с тем или иным соотношением ресурсов под тип нагрузки.

3e7537d5525da94a8ccccfa665a691da.png


Независимое масштабирование вычислительных ресурсов и ресурсов хранения данных: можно подобрать конфигурацию по «горячие» (вычислительные) и «холодные» нагрузки. В первом случае увеличивается пропорция вычислительных узлов, во втором — ресурсов хранения данных

В HPE BDRA совместимые с YARN инструменты, такие как HBase и Apache Spark, могут непосредственно использовать систему хранения HDFS. Другие, например, SAP HANA, требуют для доступа к данным соответствующих коннекторов.

HPE BDRA тестировалась с шасси Moonshot 1500 и новейшими серверными картриджами Moonshot. Это решение позволяет получить высокую вычислительную плотность. Шасси Moonshot 1500 с серверными картриджами ProLiant m710p подключается к внешним коммутаторам восемью кабелями Direct Attach Copper (DAC), по 40GbE каждый.

98fd6371f585a7209c3f486cdb63cfc4.png


Коммутатор HPE FlexFabric 5930 Switch.

В качестве сетевых коммутаторов в HPE BDRA применяются коммутаторы Top of Rack (ToR) HPE FlexFabric 5930 Switch, конфигурируемые через HPE Intelligent Resilient Framework (IRF). Дополнительный коммутатор HPE 5900 Switch служит для подключения к портам управления HPE Integrated Lights-Out (HPE iLO) по 1GbE.

c66d140032ae11498c02532513620904.png


Серверное шасси HPE Moonshot.

Шасси Moonshot System содержит два 45-портовых коммутатора 10GbE для обслуживания внутренней сети. К внешней инфраструкутре каждый коммутатор подключается по четырем аплинкам 40GbE. HPE Apollo 4200 System, HPE SL4540 и Apollo 4510 System подключаются к высокопроизводительным коммутаторам ToR через пару портов 40GbE.

Важно также, что в BDRA можно при необходимости масштабировать нужный уровень — вычислительный или хранения — без дополнительных издержек и перераспределения данных. Консолидация данных в BDRA позволяет избежать хранения лишних копий и свести к минимуму перемещение данных.

Oткрытые стандарты


HPE BDRA поддерживает разнобразные инструменты управления данными, включая Hadoop, Spark, HBase, Impala, Hive, Pig, R и Storm. Благодаря централизованному хранилищу и использованию таких средств как метки YARN это решение обеспечивает доступ к данным (прямой или через коннекторы) и является подходящей платформой для нынешних и будущих корпоративных приложений.

746a37c9d434e78a471d6c1fb57de71e.png


Одно из ключевых преимуществ HPE BDRA — открытые стандарты, реализация Open Source. Это даёт возможность работать с решением HPE другим вендорам. Например, они могут использовать свои разработки для оптимизации нагрузок в HPE BDRA. Так Mellanox создала собственный аппаратный ускоритель для своей сетевой карты. Это технология интегрирована в картридж Moonshot.

Что в итоге?


Перечислим еще раз преимущества решения HPE BDRA. Наиболее очевидные — плотность и соотношение цена/производительность. Другие включают в себя:

• Эластичность. Архитектура HPE BDRA разрабатывалась для достижения максимальной гибкости. Можно гибко выделять задачам вычислительные узлы без перераспределения данных, не требуется соблюдать соотношение ресурсов хранения и вычислительных ресурсов. Можно наращивать систему, масштабировать ее. Совместимые с YARN нагрузки получают прямой доступ к большим данным через HDFS, другие могут обращаться к тем же данным через соответствующие коннекторы.

• Консолидация данных. Архитектура HPE BDRA основывается на HDFS. А HDFS обладает достаточной производительностью и емкостью, чтобы служить единым источником данных в любой организации.

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

• Усовершенствованное управление емкостью хранения. Вычислительные узлы можно назначать динамически, «на лету», а управление единым хранилищем снижает издержки.

• Быстрый результат. Обычно работа с большими данными требует нескольких инструментов управления. В HPE BDRA данные не фрагментированы. Они консолидированы в единое «озеро данных» и инструменты для работы с ними могут получать доступ к одним и тем же данным через YARN или коннектор. В результате больше времени тратится на анализ и меньше — на доставку данных. Быстрее получается результат.

HPE BDRA — референсная архитектура, однако заказчикам предлагаются документы по ее реализации (Bills of Materials, BOM) в конкретных решениях. Развернуть такую систему можно самостоятельно, силами заказчика, либо воспользоваться услугами HPE Technical Services или авторизованных партнеров. HPE BDRA «кастомизируется»: конфигурации компонентов адаптируются под потребности заказчика.

© Habrahabr.ru