Apache Hadoop
Тип | програмний каркас |
---|---|
Автори | Doug Cuttingd і Mike Cafarellad |
Розробник | Apache Software Foundation |
Стабільний випуск | 3.0.0 (13 грудня 2017 ) |
Версії | 3.4.0 (17 березня 2024) |
Платформа | віртуальна машина Java |
Операційна система | кросплатформова програма і POSIX |
Мова програмування | Java |
Стан розробки | активний |
Ліцензія | Apache Software License 2.0d і GNU GPL |
Онлайн-документація | cwiki.apache.org/confluence/display/hadoop |
Репозиторій | https://git-wip-us.apache.org/repos/asf/hadoop.git, https://gitbox.apache.org/repos/asf?p=hadoop.git, https://github.com/apache/hadoop |
Вебсайт | hadoop.apache.org |
Apache Hadoop — вільна програмна платформа і каркас для організації розподіленого зберігання[en] і обробки наборів великих даних з використанням моделі програмування[en] MapReduce, при якій завдання ділиться на багато дрібніших відособлених фрагментів, кожен з яких може бути запущений на окремому вузлі кластера, що складається з серійних комп'ютерів[en]. Всі модулі в Hadoop спроєктовані з врахуванням припущення, що апаратне забезпечення часто виходить з ладу і такі ситуації повинні автоматично опрацьовуватись фреймворком.[2]
Ядро системи Apache Hadoop складається з розподіленої файлової системи Hadoop Distributed Filesystem (HDFS), та системи обчислень на основі моделі програмування MapReduce. Hadoop розділяє файли на великі блоки і розподіляє їх між вузлами кластера. Тоді він передає запакований код на вузли для паралельної обробки даних. Цей підхід користується локальністю даних[en],[3] коли вузли маніпулюють лише даними до яких мають доступ. Це дозволяє обробляти набір даних швидше і ефективніше ніж в традиційнішій суперкомп'ютерній архітектурі[en] яка покладається на паралельну файлову систему[en] в якій обчислення та дані для них передаються через високошвидкісну мережу.[4][5]
Основний фреймворк Apache Hadoop складається з наступних модулів:
- Hadoop Common — містить бібліотеки та утиліти потрібні іншим модулям Hadoop;
- Hadoop Distributed File System (HDFS) — розподілена файлова система, яка зберігає дані на звичайних машинах, надаючи дуже високу загальну пропускну здатність на кластері загалом;
- Hadoop YARN — платформа що відповідає за керування обчислювальними ресурсами в кластерах і їх використання для користувацьких завдань.[6][7]
- Hadoop MapReduce — реалізація моделі програмування MapReduce для обробки великих об'ємів даних.
З часом, термін Hadoop почав вживатись не тільки щодо вищезгаданих базових модулів та підмодулів, а й до «екосистеми»,[8] тобто набору додаткових пакетів програмного забезпечення, які можуть встановлюватись поверх, або поряд з Hadoop, наприклад таких як Apache Pig[en], Apache Hive[en], Apache HBase[en], Apache Phoenix[en], Apache Spark, Apache ZooKeeper[en], Cloudera Impala[en], Apache Flume[en], Apache Sqoop, Apache Oozie[en], та Apache Storm[en].[9]
MapReduce та HDFS в Apache Hadoop's були натхненними статтями Google про їх алгоритм MapReduce та Google File System.[10]
Фреймворк Hadoop написаний переважно на Java, з частиною системного коду на C та утилітами командного рядка як shell скрипти[en]. Хоча в програмах MapReduce звичайним є код на Java, для реалізації «map» та «reduce» частин користувацької програми можна використовувати будь-яку мову програмування завдяки «Hadoop Streaming».[11] Інші проєкти в екосистемі Hadoop надають багатші інтерфейси користувача.
Розробка була ініційована на початку 2005 Дуґом Каттінгом[en] з метою побудови програмної інфраструктури розподілених обчислень для проєкту Nutch — вільної програмної пошукової машини на Java, її ідейною основою стала публікація співробітників Google Джеффрі Діна і Санжая Гемавата[12] про обчислювальну концепцію MapReduce[13]. Новий проєкт був названий на честь іграшкового слоненяти дитини засновника проєкту.
Протягом 2005—2006 років Hadoop розвивався зусиллями двох розробників — Каттінга і Майка Кафареллі (Mike Cafarella) в режимі часткової зайнятості[13], спочатку в рамках проєкту Nutch, потім — проєкту Lucene. У січні 2006 року корпорація Yahoo запросила Каттінга очолити спеціально виділену команду розробки інфраструктури розподілених обчислень, до цього ж моменту відноситься виділення Hadoop в окремий проєкт. У лютому 2008 року Yahoo запустила в продуктивну експлуатацію кластерну пошукову машину на 10 тисяч процесорних ядер, керовану засобами Hadoop.
У січні 2008 року Hadoop стає проєктом верхнього рівня системи проєктів Apache Software Foundation. У квітні 2008 року Hadoop побив світовий рекорд продуктивності в стандартизованому бенчмарку сортування даних — 1 Тбайт був оброблений за 309 сек на кластері з 910 вузлів. З цього моменту починається широке застосування Hadoop за межами Yahoo — технологію для своїх сайтів впроваджують Last.fm, Facebook, The New York Times, проводиться адаптація для запуску Hadoop у хмарах Amazon EC2.
У вересні 2009 року Каттинг переходить в каліфорнійський стартап Cloudera, який, завдяки такому переходу, коментатори характеризують як «нового прапороносця Hadoop», попри те, що основна частина проєкту була створена все-таки співробітниками Facebook і Yahoo[14].
У квітні 2010 року корпорація Google надала Apache Software Foundation права на використання технології MapReduce, через три місяці після її захисту в патентному бюро США, тим самим позбавивши організацію від можливих патентних претензій[15].
Починаючи з 2010 року Hadoop неодноразово характеризується як ключова технологія «Великих Даних», прогнозується його широке розповсюдження для масово-паралельної обробки даних, і, разом з Cloudera, з'явилася серія технологічних стартапів, повністю орієнтованих на комерціалізацію Hadoop[16]. Протягом 2010 року декілька підпроєктів Hadoop — Avro, HBase, Hive, Pig, Zookeeper — послідовно стали проєктами верхнього рівня фонду Apache. У березні 2011 року Hadoop удостоєний щорічної інноваційної нагороди медіагрупи Guardian, на церемонії вручення технологія була названа «швейцарським армійським ножем XXI століття»[17].
Hadoop складається з пакету Hadoop Common, який надає абстракції операційної та файлової системи, рушій MapReduce (або MapReduce/MR1 або YARN/MR2)[18] та Hadoop Distributed File System (HDFS). Пакет Hadoop Common містить файли JAR та скрипти, потрібні для запуску Hadoop.
Цей розділ потребує доповнення. (вересень 2017) |
Hadoop активно використовується у великих промислових проєктах, надаючи можливості, аналогічні платформі Google Bigtable/GFS/MapReduce, при цьому компанія Google офіційно делегувала Hadoop та іншим проєктам Apache право використання технологій, на які поширюються патенти, пов'язані з методом MapReduce. Одним з найбільших користувачів і розробників Hadoop є компанія Yahoo!, вона активно використовує цю систему в своїх пошукових кластерах (Hadoop-кластеру Yahoo, що складається з 40 тисяч вузлів, належить світовий рекорд швидкості сортування великого обсягу даних). Hadoop-кластер використовується в Facebook для обробки однієї з найбільших баз даних, в якій зберігається близько 30 петабайт інформації. Hadoop також лежить в основі платформи Oracle Big Data і активно адаптується компанією Microsoft для роботи з СУБД SQL Server, Windows Server і хмарній платформі Azure Cloud з метою створення нових продуктів для організації розподіленої обробки великих обсягів даних. Hadoop є одним з ключових ланок суперкомп'ютера IBM Watson, який виграв бій з найкращими гравцями телевізійної гри-вікторини «Jeopardy!».
Hadoop може розгортатись як в традиційному датацентрі всередині підприємства, так і в хмарах.[19] Хмари дозволяють організаціям розгортати Hadoop без необхідності купляти апаратне забезпечення та утримувати фахівців із відповідною кваліфікацією.[20] До вендорів, які надають хмарні сервіси Hadoop, входять Microsoft, Amazon, IBM,[21] Google, Oracle[22] та CenturyLink[en][23]
Цей розділ потребує доповнення. (вересень 2017) |
I've said for a while now that Cloudera is the company with the Hadoop banner firmly in its grasp, despite the fact that Yahoo and Facebook both contribute mountains of code the project
К началу 2010 года Hadoop, MapReduce и ассоциированные с ними технологии с открытым кодом стали движущей силой целого нового явления, которое O’Reilly Media, The Economist и другие издания окрестили большими данными
Described by the judging panel as a “Swiss army knife of the 21st century”, Apache Hadoop picked up the innovator of the year award for having the potential to change the face of media innovations
{{cite web}}
: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання)
- Official Hadoop Homepage
- Introducing Apache Hadoop: The Modern Data Operating System [Архівовано 23 грудня 2011 у Wayback Machine.] — lecture given at Stanford University by Co-Founder and CTO of Cloudera, Amr Awadallah (video archive)
|
|