Apache Hadoop
Тип | програмний каркас |
---|---|
Автори | Doug Cuttingd і Mike Cafarellad |
Розробник | Apache Software Foundation |
Стабільний випуск | 3.0.0 (13 грудня 2017 ) |
Версії | 3.4.0 (17 березня 2024)[1] |
Платформа | віртуальна машина 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) |
- ↑ Release 3.4.0 available
- ↑ Welcome to Apache™ Hadoop®!. Архів оригіналу за 23 вересня 2017. Процитовано 10 вересня 2017.
- ↑ What is the Hadoop Distributed File System (HDFS)?. ibm.com. IBM. Архів оригіналу за 8 січня 2017. Процитовано 30 жовтня 2014.
- ↑ Malak, Michael (19 вересня 2014). Data Locality: HPC vs. Hadoop vs. Spark. datascienceassn.org. Data Science Association. Архів оригіналу за 10 вересня 2017. Процитовано 30 жовтня 2014.
- ↑ Characterization and Optimization of Memory-Resident MapReduce on HPC Systems. IEEE. October 2014. Архів оригіналу (pdf) за 22 серпня 2017. Процитовано 10 вересня 2017.
- ↑ Resource (Apache Hadoop Main 2.5.1 API). apache.org. Apache Software Foundation. 12 вересня 2014. Архів оригіналу за 6 жовтня 2014. Процитовано 30 вересня 2014.
- ↑ Murthy, Arun (15 серпня 2012). Apache Hadoop YARN – Concepts and Applications. hortonworks.com. Hortonworks. Архів оригіналу за 11 вересня 2017. Процитовано 30 вересня 2014.
- ↑ Continuuity Raises $10 Million Series A Round to Ignite Big Data Application Development Within the Hadoop Ecosystem. finance.yahoo.com. Marketwired. 14 листопада 2012. Архів оригіналу за 10 вересня 2017. Процитовано 30 жовтня 2014.
- ↑ Hadoop-related projects at. Hadoop.apache.org. Архів оригіналу за 23 вересня 2017. Процитовано 17 жовтня 2013.
- ↑ Data Science and Big Data Analytics: Discovering, Analyzing, Visualizing and Presenting Data. John Wiley & Sons. 19 грудня 2014. с. 300. ISBN 9781118876220. Архів оригіналу за 6 грудня 2016. Процитовано 29 січня 2015.
- ↑ [nlpatumd] Adventures with Hadoop and Perl. Mail-archive.com. 2 травня 2010. Архів оригіналу за 14 серпня 2017. Процитовано 5 квітня 2013.
- ↑ Dean, Jeffrey and Ghemawat, Sanjay. MapReduce: Simplified Data Processing on Large Clusters : [англ.] // OSDI ’04: 6th Symposium on Operating Systems Design and Implementation. — USENIX, 2004. — С. 137-149. — DOI:10.1145/1327452.1327492.
- ↑ а б Cutting, Doug (24 березня 2008). Hadoop: a brief history (PDF) (англійською) . Yahoo!. Архів оригіналу (PDF) за 11 березня 2012. Процитовано 25 грудня 2011.
- ↑ Handy, Alex (9 жовтня 2009). Hadoop creator goes to Cloudera (англійською) . SD Times. Архів оригіналу за 11 березня 2012. Процитовано 25 грудня 2011.
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
- ↑ Metz, Cade (27 квітня 2010). Google blesses Hadoop with MapReduce patent license (англійською) . The Register. Архів оригіналу за 11 березня 2012. Процитовано 30 грудня 2011.
- ↑ Моррисон, Алан та інші (17 грудня 2010). Великі Дані: як витягти з них інформацію (PDF). Технологический прогноз. Ежеквартальный журнал, российское издание, 2010 выпуск 3 (російською) . PricewaterhouseCoopers. Архів оригіналу за 11 березня 2012. Процитовано 12 листопада 2011.
К началу 2010 года Hadoop, MapReduce и ассоциированные с ними технологии с открытым кодом стали движущей силой целого нового явления, которое O’Reilly Media, The Economist и другие издания окрестили большими данными
- ↑ Winckler, Marie (25 березня 2011). Apache Hadoop takes top prize at Media Guardian Innovation Awards (англійською) . The Guardian. Архів оригіналу за 11 березня 2012. Процитовано 25 грудня 2011.
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
- ↑ Chouraria, Harsh (21 жовтня 2012). MR2 and YARN Briefly Explained. cloudera.com. Cloudera. Архів оригіналу за 22 жовтня 2013. Процитовано 23 жовтня 2013.
- ↑ What is Hadoop?. Архів оригіналу за 11 вересня 2017. Процитовано 10 вересня 2017.
- ↑ Hadoop. Azure.microsoft.com. Архів оригіналу за 11 вересня 2017. Процитовано 22 липня 2014.
- ↑ ibm-biginsights-on-cloud. Архів оригіналу за 11 вересня 2017. Процитовано 10 вересня 2017.
- ↑ Oracle's cloud analytics platform comprises several tools. Архів оригіналу за 31 березня 2016. Процитовано 8 квітня 2016.
- ↑ Архівована копія. Архів оригіналу за 30 березня 2022. Процитовано 19 квітня 2022.
{{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)