Зачем вам Apache Ozone: новая звезда на небосклоне Hadoop

Автор Категория ,
Зачем вам Apache Ozone: новая звезда на небосклоне Hadoop

В продолжение темы про новое в экосистеме Apache Hadoop, сегодня мы расскажем о проекте Ozone: как и зачем появилось это масштабируемое распределенное хранилище объектов, чем оно отличается от HDFS, что у него общего с Amazon S3 и как этот фреймворк позволяет совместить преимущества SaaS-подхода с локальными кластерами Big Data.

 

Что такое Apache Ozone и зачем он нужен: краткая история разработки

Первая официальная версия Apache Ozone 0.3.0-alpha была выпущена в ноябре 2018 года [1], хотя этот проект стал известен в ИТ-сообществе еще в декабре 2017 году, в рамках выхода Hadoop 3.0 [2]. В сентябре 2020 года вышла версия 1.0.0 с новой улучшенной схемой файловой системы и оптимизацией связи с Amazon S3 [3].

Появление Apache Ozone (O3) обусловлено следующими факторами [2]:

  • неэффективность HDFS в работе с небольшими файлами, т.к. изначально эта файловая система была разработана для хранения относительно больших файлов в режиме однократной записи и многократного чтения. Со временем HDFS начала применяться для хранения небольших объектов, таких как фото или видео, что не совсем соответствует исходному назначению этого хранилища, а потому показывает низкую производительность в таком варианте использования.
  • популяризация SaaS-подхода, когда большие данные хранятся в облачных репозиториях, привела к тому, что Amazon S3 фактически стал стандартом де-факто в области Big Data. Поэтому разработчики Big Data систем стремятся создавать решения, хорошо совместимые с этим облачным хранилищем.

Таким образом, основным мотивом появления Apache Ozone стала идея создания масштабируемого распределенного хранилища больших и малых данных, которое будет поддерживать Amazon S3 API и будет эффективным как в облаке, так и на локальных кластерах Hadoop.

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

Для эффективного масштабирования O3 разделяет управление пространством имен и управление пространством блоков. Пространством имен управляет системная служба (демон) под названием Ozone Manager (OM), а за управление пространством блоков на физическом уровне и уровне данных отвечает Storage Container Manager (SCM). Ключевыми понятиями в архитектуре Apache Ozone являются следующие:

  • том (volume), который похож на домашний каталог, но создать его может только администратор;
  • корзина (bucket), которые хранятся в томах. После создания тома пользователи могут создавать столько корзин, сколько необходимо.
  • ключ (key) для хранения данных, которые находятся внутри этих корзин.

Ozone Manager выполняет роль службы пространства имен на основе HDDS (Hadoop Distributed Data Store), распределенного хранилища блоков. За репликацию метаданных отвечает Ratis (Replicated State Machine based on Raft protocol), который является реализацией протокола Raft и обеспечивает согласованную запись между узлами данных. Сервер Recon взаимодействует со всеми другими компонентами Ozone и предоставляет унифицированный API управления и пользовательский интерфейс. Шина протокола (protocol bus) позволяет O3 расширяться с помощью других протоколов, обеспечивая общее представление о том, как можно реализовать новую файловую систему или протоколы хранилища объектов, которые обращаются к его собственному протоколу удаленного вызова процедур (Native Ozone PRC protocol) [4].

Apache Ozone, Hadoop
Архитектура и принцип работы Apache Ozone

Пространство имен Ozone состоит из множества томов, которые также используются в качестве основы для учета хранения данных. При записи ключей связанные данные сохраняются на узлах (DataNodes) во фрагментах (chunks), называемых блоках. Каждый ключ связан с одним или несколькими блоками. Внутри узлов данных серия несвязанных блоков хранится в контейнере, что позволяет управлять многими блоками как единым целым. Ozone Manager управляет пространствами имен, в то время как Storage Container Manager обрабатывает контейнеры.

При операциях чтения клиент запрашивает расположение блоков, соответствующее ключу, который он хочет прочитать. Ozone Manager возвращает расположение блоков, если у клиента есть необходимые права на чтение. В случае записи клиент запрашивает у Ozone Manager блок для записи ключа. Ozone Manager возвращает идентификатор блока и соответствующие узлы данных для клиента для записи данных [5].

Чем хорош Озон: 5 главных плюсов

Из всех характеристик Apache Ozone с практической точки зрения наиболее востребованы его следующие особенности [7]:

  • гибкая масштабируемость для эффективной работы с миллиардами небольших файлов, в отличие от файловой системы HDFS, пределом для которой является 400 миллионами файлов;
  • поскольку это хранилище данных является частью экосистемы Apache Hadoop, оно отлично интегрировано с приложениями и связанными с ним приложениями Hive, Spark и классическими заданиями MapReduce без внесения дополнительных изменений в их программный код;
  • локальность данных и распределенность данных – O3 поддерживает работу с локальными кластерами Hadoop, так и с облачными хранилищами объектов на базе Amazon S3;
  • O3 отлично приспособлен для развертывания в контейнерных средах типа Kubernetes;
  • поддержка протокола Kerberos, токенов делегирования, механизма контрольных списков доступа (Access Control Lists, ACLs), прозрачного шифрования данных (Transparent Data Encryption, TDE), а также инфраструктуры Apache Ranger для комплексного обеспечения, мониторинга и управления безопасностью данных на платформе

Таким образом, Apache Ozone является достойным нововведением экосистемы Hadoop, дополняя ее в соответствии с потребностями современного бизнеса и трендами развития технологий Big Data. Освоить практику администрирования и эффективной эксплуатации экосистемы Apache Hadoop для хранения и аналитики больших данных в проектах цифровизации частного бизнеса, а также государственных и муниципальных предприятий, вы сможете на специализированных курсах в нашем лицензированном учебном центре обучения и повышения квалификации для разработчиков, менеджеров, архитекторов, инженеров, администраторов, Data Scientist’ов и аналитиков Big Data в Москве:

 

Источники

  1. https://hadoop.apache.org/ozone/downloads/
  2. https://www.datanami.com/2017/12/15/hadoop-3-0-ships-roadmap-reveal/
  3. https://hadoop.apache.org/ozone/release/1.0.0/
  4. https://hadoop.apache.org/ozone/docs/1.0.0/concept/overview.html
  5. https://docs.cloudera.com/runtime/7.0.3/ozone-storing-data/topics/ozone-introduction.html
  6. https://blog.cloudera.com/introducing-apache-hadoop-ozone-object-store-apache-hadoop/