Топ питань
Часова шкала
Чат
Перспективи
Apache Hadoop
З Вікіпедії, вільної енциклопедії
Remove ads
Remove ads
Apache Hadoop — вільна програмна платформа і каркас для організації розподіленого зберігання[en] і обробки наборів великих даних з використанням моделі програмування[en] MapReduce, при якій завдання ділиться на багато дрібніших відособлених фрагментів, кожен з яких може бути запущений на окремому вузлі кластера, що складається з серійних комп'ютерів[en]. Всі модулі в Hadoop спроєктовані з врахуванням припущення, що апаратне забезпечення часто виходить з ладу і такі ситуації повинні автоматично опрацьовуватись фреймворком.[1]
Ядро системи Apache Hadoop складається з розподіленої файлової системи Hadoop Distributed Filesystem (HDFS), та системи обчислень на основі моделі програмування MapReduce. Hadoop розділяє файли на великі блоки і розподіляє їх між вузлами кластера. Тоді він передає запакований код на вузли для паралельної обробки даних. Цей підхід користується локальністю даних[en],[2] коли вузли маніпулюють лише даними до яких мають доступ. Це дозволяє обробляти набір даних швидше і ефективніше ніж в традиційнішій суперкомп'ютерній архітектурі[en] яка покладається на паралельну файлову систему[en] в якій обчислення та дані для них передаються через високошвидкісну мережу.[3][4]
Основний фреймворк Apache Hadoop складається з наступних модулів:
- Hadoop Common — містить бібліотеки та утиліти потрібні іншим модулям Hadoop;
- Hadoop Distributed File System (HDFS) — розподілена файлова система, яка зберігає дані на звичайних машинах, надаючи дуже високу загальну пропускну здатність на кластері загалом;
- Hadoop YARN — платформа що відповідає за керування обчислювальними ресурсами в кластерах і їх використання для користувацьких завдань.[5][6]
- Hadoop MapReduce — реалізація моделі програмування MapReduce для обробки великих об'ємів даних.
З часом, термін Hadoop почав вживатись не тільки щодо вищезгаданих базових модулів та підмодулів, а й до «екосистеми»,[7] тобто набору додаткових пакетів програмного забезпечення, які можуть встановлюватись поверх, або поряд з 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].[8]
MapReduce та HDFS в Apache Hadoop's були натхненними статтями Google про їх алгоритм MapReduce та Google File System.[9]
Фреймворк Hadoop написаний переважно на Java, з частиною системного коду на C та утилітами командного рядка як shell скрипти[en]. Хоча в програмах MapReduce звичайним є код на Java, для реалізації «map» та «reduce» частин користувацької програми можна використовувати будь-яку мову програмування завдяки «Hadoop Streaming».[10] Інші проєкти в екосистемі Hadoop надають багатші інтерфейси користувача.
Remove ads
Історія
Узагальнити
Перспектива
Розробка була ініційована на початку 2005 Дуґом Каттінгом[en] з метою побудови програмної інфраструктури розподілених обчислень для проєкту Nutch — вільної програмної пошукової машини на Java, її ідейною основою стала публікація співробітників Google Джеффрі Діна і Санжая Гемавата[11] про обчислювальну концепцію MapReduce[12]. Новий проєкт був названий на честь іграшкового слоненяти дитини засновника проєкту.
Протягом 2005—2006 років Hadoop розвивався зусиллями двох розробників — Каттінга і Майка Кафареллі (Mike Cafarella) в режимі часткової зайнятості[12], спочатку в рамках проєкту 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[13].
У квітні 2010 року корпорація Google надала Apache Software Foundation права на використання технології MapReduce, через три місяці після її захисту в патентному бюро США, тим самим позбавивши організацію від можливих патентних претензій[14].
Починаючи з 2010 року Hadoop неодноразово характеризується як ключова технологія «Великих Даних», прогнозується його широке розповсюдження для масово-паралельної обробки даних, і, разом з Cloudera, з'явилася серія технологічних стартапів, повністю орієнтованих на комерціалізацію Hadoop[15]. Протягом 2010 року декілька підпроєктів Hadoop — Avro, HBase, Hive, Pig, Zookeeper — послідовно стали проєктами верхнього рівня фонду Apache. У березні 2011 року Hadoop удостоєний щорічної інноваційної нагороди медіагрупи Guardian, на церемонії вручення технологія була названа «швейцарським армійським ножем XXI століття»[16].
Remove ads
Архітектура
Hadoop складається з пакету Hadoop Common, який надає абстракції операційної та файлової системи, рушій MapReduce (або MapReduce/MR1 або YARN/MR2)[17] та 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 у хмарах
Hadoop може розгортатись як в традиційному датацентрі всередині підприємства, так і в хмарах.[18] Хмари дозволяють організаціям розгортати Hadoop без необхідності купляти апаратне забезпечення та утримувати фахівців із відповідною кваліфікацією.[19] До вендорів, які надають хмарні сервіси Hadoop, входять Microsoft, Amazon, IBM,[20] Google, Oracle[21] та CenturyLink[en][22]
![]() | Цей розділ потребує доповнення. (вересень 2017) |
Remove ads
Виноски
Посилання
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads