Apache Hadoop

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук
Apache Hadoop
Hadoop logo
Тип розподілені обчислення
Автор(и) Doug Cutting[d] і Mike Cafarella[d]
Розробник Apache Software Foundation
Стабільний випуск 2.7.1 (6 липня 2015; 889 днів тому)
Версії 2.7.1[1], 2.5.2[2], 2.6.0[3], 2.7.2[4], 2.7.3[5] і 2.9.0
Репозиторій git-wip-us.apache.org/repos/asf/hadoop.git
Платформа Віртуальна машина Java
Операційна система крос-платформовий
Написано на Java
Стан розробки активний
Ліцензія Apache License 2.0
Онлайн-документація https://wiki.apache.org/hadoop/HowToContribute
hadoop.apache.org

CMNS: Apache Hadoop на Вікісховищі

Apache Hadoop — вільна програмна платформа і каркас для організації розподіленого зберігання[en] і обробки наборів великих даних з використанням моделі програмування[en] MapReduce, при якій завдання ділиться на багато дрібніших відособлених фрагментів, кожен з яких може бути запущений на окремому вузлі кластера, що складається з серійних комп'ютерів[en]. Всі модулі в Hadoop спроектовані з врахуванням припущення, що злам апаратного забезпечення трапляється часто і це повинно автоматично враховуватись фреймворком.[6]

Ядро системи Apache Hadoop складається з розподіленої файлової системи Hadoop Distributed Filesystem (HDFS), та системи обчислень на основі моделі програмування MapReduce. Hadoop розділяє файли на великі блоки і розподіляє їх між вузлами кластера. Тоді він передає запакований код на вузли для паралельної обробки даних. Цей підхід користується локальністю даних[en],[7], коли вузли маніпулюють лише даними до яких мають доступ. Це дозволяє обробляти набір даних швидше і ефективніше ніж в традиційнішій суперкомп'ютерній архітектурі[en] яка покладається на паралельну файлову систему[en] в якій обчислення та дані для них передаються через високошвидкісну мережу.[8][9]

Основний фреймворк Apache Hadoop складається з наступних модулів:

  • Hadoop Common — містить бібліотеки та утиліти потрібні іншим модулям Hadoop;
  • Hadoop Distributed File System (HDFS) — розподілена файлова система, яка зберігає дані на звичайних машинах, надаючи дуже високу загальну пропускну здатність на кластері загалом;
  • Hadoop YARN — платформа що відповідає за керування обчислювальними ресурсами в кластерах і їх використання для користувацьких завдань.[10][11]
  • Hadoop MapReduce — реалізація моделі програмування MapReduce для обробки великих об'ємів даних.

З часом, термін Hadoop почав вживатись не тільки щодо вищезгаданих базових модулів та підмодулів, а й до «екосистеми»,[12] тобто набору додаткових пакетів програмного забезпечення, які можуть встановлюватись поверх, або поряд з 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].[13]

MapReduce та HDFS в Apache Hadoop's були натхненними статтями Google про їх алгоритм MapReduce та Google File System.[14]

Фреймворк Hadoop написаний переважно на Java, з частиною системного коду на C та утилітами командного рядка як shell скрипти[en]. Хоча в програмах MapReduce звичайним є код на Java, для реалізації «map» та «reduce» частин користувацької програми можна використовувати будь-яку мову програмування завдяки «Hadoop Streaming».[15] Інші проекти в екосистемі Hadoop надають багатші інтерфейси користувача.

Історія[ред.ред. код]

Розробка була ініційована на початку 2005 Дуґом Каттінгом[en] з метою побудови програмної інфраструктури розподілених обчислень для проекту Nutch — вільної програмної пошукової машини на Java, її ідейною основою стала публікація співробітників Google Джеффрі Діна і Санжая Гемавата[16] про обчислювальну концепцію MapReduce[17]. Новий проект був названий на честь іграшкового слоненяти дитини засновника проекту.

Протягом 2005-2006 років Hadoop розвивався зусиллями двох розробників — Каттінга і Майка Кафареллі (Mike Cafarella) в режимі часткової зайнятості[17], спочатку в рамках проекту 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[18].

У квітні 2010 року корпорація Google надала Apache Software Foundation права на використання технології MapReduce, через три місяці після її захисту в патентному бюро США, тим самим позбавивши організацію від можливих патентних претензій[19].

Починаючи з 2010 року Hadoop неодноразово характеризується як ключова технологія «Великих Даних», прогнозується його широке розповсюдження для масово-паралельної обробки даних, і, разом з Cloudera, з'явилася серія технологічних стартапів, повністю орієнтованих на комерціалізацію Hadoop[20]. Протягом 2010 року декілька підпроектів Hadoop — Avro, HBase, Hive, Pig, Zookeeper — послідовно стали проектами верхнього рівня фонду Apache. У березні 2011 року Hadoop удостоєний щорічної інноваційної нагороди медіагрупи Guardian, на церемонії вручення технологія була названа «швейцарським армійським ножем XXI століття»[21].

Архітектура[ред.ред. код]

Hadoop складається з пакету Hadoop Common, який надає абстракції операційної та файлової системи, рушій MapReduce (або MapReduce/MR1 або YARN/MR2)[22] та Hadoop Distributed File System (HDFS). Пакет Hadoop Common містить файли JAR та скрипти потрібні для запуску Hadoop.

Застосування[ред.ред. код]

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 може розгортатись як в традиційному датацентрі всередині підприємства, так і в хмарах.[23] Хмари дозволяють організаціям розгортати Hadoop без необхідності купляти апаратне забезпечення, та відповідні вміння налаштування.[24] До вендорів які надають хмарні сервіси Hadoop входять Microsoft, Amazon, IBM,[25] Google, Oracle[26] та CenturyLink[en][27]

Виноски[ред.ред. код]

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

Посилання[ред.ред. код]