Apache Software Foundation объявили о выходе новой версии открытого фреймворка для разработки и выполнения распределённых программ — Hadoop 3.0. Это первый крупный релиз с момента выпуска Hadoop 2 в 2013 году. Подробнее о некоторых новых возможностях Hadoop 3.0 и о том, что предложат последующие версии, расскажем далее.


/ фото Chris Feser CC

Что нового


Коды избыточности (Erasure Coding) для HDFS

Это метод защиты данных, который в основном использовался в объектных хранилищах. Теперь Hadoop не будет хранить три копии данных на разных кластерах. Вместо этого используется метод фрагментации данных, который похож на RAID 5 или 6. Благодаря более эффективной репликации эффективность хранения повышается на 50%.

Винод Кумар Вавилапалли (Vinod Kumar Vavilapalli), один из разработчиков обновления и технический директор Hortonworks, говорит, что причиной добавления Erasure Coding стал рост объемов данных, хранимых компаниями в кластерах Big Data. Новая функция позволит эффективнее управлять хранилищем и использовать возможности Hadoop-кластера по максимуму.

YARN Federation

По словам Вавилапалли, изначально YARN масштабировался только до 10 тысяч узлов. Поэтому разработчики из Microsoft добавили функцию YARN Federation, которая позволяет YARN работать с 40 и даже 100 тысяч узлов.

Новые типы ресурсов

Hadoop 3.0 добавляет в YARN новый фреймворк для работы с дополнительными типами ресурсов, помимо памяти и CPU. Обновление также дает больше контроля над диском в кластерах Big Data. В будущем будет добавлена поддержка GPU и FPGA.

Java 8

Hadoop 2 работает на Java Developers Kit 7. В Apache Hadoop 3.0 осуществлен переход на JDK 8. Помимо Hadoop 3.0, поддержка JDK 8 анонсирована в HBase 2.0, Hive 3.0 и Phoenix 3.0.

Дорожная карта: Hadoop 3.1 и 3.2


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

Hadoop 3.1

  • Поддержка GPU. Это даст клиентам возможность решать задачи машинного и глубокого обучения.
  • Поддержка Docker-контейнеров. Это позволит запускать в Hadoop рабочие нагрузки, не связанные с большими данными.
  • YARN Services. Появится возможность работать с «длительными» рабочими нагрузками, например потоком данных Kafka.

Hadoop 3.2

  • Поддержка FPGA. Есть задачи, которые FPGA выполняет лучше GPU. Это уже поняли в Microsoft, где FPGA используют для ускорения глубокого обучения. Больше о практическом применении FPGA можно почитать здесь.
  • Ozone. Вавилапалли поясняет, что HDFS «заточена» под хранение больших файлов в формате «один раз записал, много раз прочитал». И она не приспособлена для хранения небольших файлов: фото или видео. Хранилище Ozone решит эту проблему.

Разработчики планируют выпустить обновления Hadoop 3.1 и Hadoop 3.2 с разницей в три месяца.



P.S. Другие материалы из первого блога о корпоративном IaaS:


Комментарии (3)


  1. sshikov
    24.12.2017 13:05

    Поддержка Docker-контейнеров. Это позволит запускать в Hadoop рабочие нагрузки, не связанные с большими данными.

    На самом деле любые нагрузки. Тут ведь дело в чем — контейнер запускается на том узле, где у вас лежат данные. Там совершенно не обязательно уже есть нужный образ docker для запуска. Его нужно достать из реестра, а это сравнительно долго. Если же он уже есть — то запускать можно сразу. Собственно, примерно такая же картина имеет место и для других типов приложений — jar и python (с библиотеками) ведь тоже надо доставлять на узлы кластера так или иначе. Это просто расширение, которое включает в известный Yarn набор приложений еще и docker.


  1. seidzi
    25.12.2017 10:09

    у слонов наполеоновские планы :) очень воодушевляет :D


  1. superdzen
    25.12.2017 13:00

    Жаль, что Cloudera и Hortonworks все еще предлагают Hadoop 2.6.0 и 2.7.3 в своих последних сборках. При их текущем темпе Hadoop 3.x появится в энтерпрайзе только через год-два в лучшем случае.