Под большими данными обычно понимают серию подходов, инструментов и методов обработки структурированных и неструктурированных данных, которые отличают огромные объёмы и значительное многообразие. Цель такой обработки — получение воспринимаемых человеком результатов.
Поток данных может поступать из разных источников, эти данные гетерогенны и передаются в различных форматах: текст, документы, изображения, видео и многое другое. Для извлечения из таких данных полезной информации определяющее значение имеет программно-аппаратная платформа.
«Стандартная» платформа для больших данных: архитектура системы
Обычно разработчики решений для больших данных стремятся объединить возможности обработки данных различной природы. Нередко роль полнофункциональных платформ для работы с большими данными играют традиционные платформы, адаптированные к новым условиям. В других случаях поставщики предлагают предприятиям специализированные комплексные решения.
Распространенный подход – использование платформы Hadoop. Она работает по принципу перемещения вычислений ближе к месту хранения данных: обработка обычно выполняется на больших кластерах серверов, созданных с помощью стандартного аппаратного обеспечения. Сочетание платформы Hadoop со стандартными серверами – основа для экономичной и высокопроизводительной аналитической платформы для параллельной работы приложений.
Типовая платформа для больших данных – это кластер из одинаковых узлов, обычно представленных стандартными двухпроцессорными серверами и ассоциированной с каждым сервером системой хранения данных.
С точки зрения экономичности, двухпроцессорные серверы — оптимальный вариант для большинства рабочих нагрузок 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, ОЗУ или архивные объектные хранилища.
Асимметричная архитектура Big Data Reference Architecture включает в себя разнородные вычислительные узлы и узлы хранения данных. Вычислительные узлы могут быть представлены недорогими энергоэффективными модулями, модулями с графическими ускорителями (GPU), с программируемыми процессорами (FPGA) или с увеличенной оперативной памятью. Узлы хранения могут использовать SSD или жесткие диски, архивные системы. Оптимизация узлов под нагрузку ускоряет выполнение различных приложений для работы с большими данными.
Каковы же преимущества такой архитектуры кластера Hadoop?
- Кластер может быть представлен как интегрированное решение, включающее вычислетельные ресурсы, объединенные встроенной сетевой инфраструктурой;
- Встроенная сетевая фабрика позволяет повысить интенсивность трафика в направлении «восток-запад». Как результат – возрастает пропускная способность всего кластера, коммутация становится более интеллектуальной;
- Применение оптимизированных под типы нагрузки узлов со специализированными ЦП и графическими процессорами, «серверов на кристалле» (server-on-chip, SOC) увеличивает производительность, вычислительную плотность и энергоэффективность;
- Возможности гипермасштабирования. Например, одно шасси HPE Moonshot может выполнять роль кластера из 45 узлов;
- Возможность построения кластеров с разнородными вычислительными узлами, что востребовано для задач глубокого анализа (Deep Learning) и нейронных сетей.
Для обработки интенсивных вычислительных нагрузок, таких как Apache Spark, в ту же стойку можно включить высокопроизводительные узлы (high-performance computing, HPC).
Решение HPE – ассиметричный кластер Hadoop с оптимизированными узлами.
Таким образом, в HPE отказались от традиционной парадигмы и продемонстрировали, что независимые вычислительные компоненты и компоненты хранения в кластере Hadoop позволяют создавать очень быстрые асимметричные системы. Это решение можно усовершенствовать за счет оптимизации нагрузки и применения таких средств как YARN, тиринг и присваивание заданий специализированным узлам.
Принципиальная схема 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:
Узел хранения данных HPE Apollo 4200 Gen9.
Узел HPE Apollo 4510 способен хранить до 544 Тбайт данных. Его рекомендуется использовать для хранения резервных копий или архива.
Узлы хранения данных – серверы HPE Apollo 4200 Gen9 образуют единое хранилище HDFS. В качестве опции может применяться HPE Apollo 4510 System – высокопроизводительная система хранения большой плотности. Она играет роль резервного/архивного хранилища.
Шасси HPE Moonshot System с серверными «картриджами» HPE ProLiant m710p Server Cartridge.
Вычислительные узлы – система высокой плотности HPE Moonshot System служит для выполнения вычислительных задач и оптимизации нагрузки. Серверы HPE ProLiant m710p Server Cartridge или HPE ProLiant XL170r Gen9 могут служить вычислительными узлами.
Компоненты HPE BDRA: вычислительные узлы, узлы хранения данных и высокоскоростная сеть.
Гибкость конфигурации и масштабирование
Вычислительные узлы и узлы хранения данных BDRA связывает высокоскоростная сеть. Получается асимметричная архитектура, где каждый уровень можно масштабировать индивидуально. Соотношение процессоров и ресурсов хранения жестко не задается. Поскольку взаимной привязки этих ресурсов нет, можно воспользоваться многочисленными преимуществами конвергентной архитектуры. Например, масштабировать их независимо, просто добавляя соответствующие узлы в систему. Проведенное HP тестирование показывает, что нагрузка реагирует на это практически линейно. Кроме того, можно подбирать конфигурацию с тем или иным соотношением ресурсов под тип нагрузки.
Независимое масштабирование вычислительных ресурсов и ресурсов хранения данных: можно подобрать конфигурацию по «горячие» (вычислительные) и «холодные» нагрузки. В первом случае увеличивается пропорция вычислительных узлов, во втором – ресурсов хранения данных
В HPE BDRA совместимые с YARN инструменты, такие как HBase и Apache Spark, могут непосредственно использовать систему хранения HDFS. Другие, например, SAP HANA, требуют для доступа к данным соответствующих коннекторов.
HPE BDRA тестировалась с шасси Moonshot 1500 и новейшими серверными картриджами Moonshot. Это решение позволяет получить высокую вычислительную плотность. Шасси Moonshot 1500 с серверными картриджами ProLiant m710p подключается к внешним коммутаторам восемью кабелями Direct Attach Copper (DAC), по 40GbE каждый.
Коммутатор 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.
Серверное шасси 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 это решение обеспечивает доступ к данным (прямой или через коннекторы) и является подходящей платформой для нынешних и будущих корпоративных приложений.
Одно из ключевых преимуществ 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 «кастомизируется»: конфигурации компонентов адаптируются под потребности заказчика.
Автор: Hewlett Packard Enterprise