Hadoop


Hadoop — проект фонда Apache Software Foundation, свободно распространяемый набор утилит, библиотек и фреймворк для разработки и выполнения распределённых программ, работающих на кластерах из сотен и тысяч узлов. Используется для реализации поисковых и контекстных механизмов многих высоконагруженных веб-сайтов, в том числе, для Yahoo! и Facebook[3]. Разработан на Java в рамках вычислительной парадигмы MapReduce, согласно которой приложение разделяется на большое количество одинаковых элементарных заданий, выполнимых на узлах кластера и естественным образом сводимых в конечный результат.

По состоянию на 2014 год проект состоит из четырёх модулей — Hadoop Common[⇨] (связующее программное обеспечение — набор инфраструктурных программных библиотек и утилит, используемых для других модулей и родственных проектов), HDFS[⇨] (распределённая файловая система), YARN[⇨] (система для планирования заданий и управления кластером) и Hadoop MapReduce[⇨] (платформа программирования и выполнения распределённых MapReduce-вычислений), ранее в Hadoop входил целый ряд других проектов, ставших самостоятельными в рамках системы проектов Apache Software Foundation.

Считается одной из основополагающих технологий «больших данных». Вокруг Hadoop образовалась целая экосистема[⇨] из связанных проектов и технологий, многие из которых развивались изначально в рамках проекта, а впоследствии стали самостоятельными. Со второй половины 2000-х годов идёт процесс активной коммерциализации технологии[⇨], несколько компаний строят бизнес целиком на создании коммерческих дистрибутивов Hadoop и услуг по технической поддержке экосистемы, а практически все крупные поставщики информационных технологий для организаций в том или ином виде включают Hadoop в продуктовые стратегии и линейки решений.

Разработка была инициирована в начале 2005 года Дугом Каттингом (англ. Doug Cutting) с целью построения программной инфраструктуры распределённых вычислений для проекта Nutch — свободной программной поисковой машины на Java, её идейной основой стала публикация сотрудников Google Джеффри Дина и Санжая Гемавата[4] о вычислительной концепции MapReduce[5]. Новый проект был назван в честь игрушечного слонёнка ребёнка основателя проекта [6].

В течение 2005—2006 годов Hadoop развивался усилиями двух разработчиков — Каттинга и Майка Кафареллы (Mike Cafarella) в режиме частичной занятости[5], сначала в рамках проекта Nutch, затем — проекта Lucene. В январе 2006 года корпорация Yahoo пригласила Каттинга возглавить специально выделенную команду разработки инфраструктуры распределённых вычислений, к этому же моменту относится выделение Hadoop в отдельный проект. В феврале 2008 года Yahoo запустила кластерную поисковую машину на 10 тыс. процессорных ядер, управляемую средствами Hadoop.