Previous Page  11 / 17 Next Page
Information
Show Menu
Previous Page 11 / 17 Next Page
Page Background

модель MapReduce. Hadoop является проектом фонда Apache Software

Foundation, и набором утилит, библиотек, программным каркасом для

разработки и выполнения распределенных программ, работающих на

кластерах из сотен и тысяч узлов.

Hadoop начинался с проекта Nutch [18]. Группа разработчиков по-

пыталась построить систему веб-поиска с открытым кодом, однако

проблемы с обработкой данных стали возникать даже на относительно

небольшом множестве компьютеров. После того как компания Google

опубликовала статьи о Google File System (GFS) и MapReduce, на-

правление работы прояснилось. Системы Google разрабатывались для

решения именно тех проблем, которые возникали с Nutch. И тогда два

разработчика начали в свободное время работать над воссозданием

этих систем как составной части Nutch.

В результате удалось заставить Nutch работать на 20 машинах, но

вскоре стало ясно, что в огромных масштабах Web речь идет о выпол-

нении на тысячах компьютеров, и что еще важнее — объем работы был

слишком большим для двух программистов с неполным рабочим днем.

Примерно в это же время компания Yahoo! заинтересовалась проектом

и быстро собрала группу для продолжения разработки. Группа разра-

ботчиков выделила часть Nutch, относящуюся к распределенным вы-

числениям, в отдельный подпроект, который получил название Hadoop

(рис. 6). При поддержке Yahoo! проект Hadoop вскоре превратился в

технологию, способную работать в масштабах Web [18].

Поскольку Big Data подразумевает быстрое поступление большого

объема данных, традиционные системы хранения на основе СУБД не

успевают сохранить этот поток. Нужна простая и быстрая система,

которая позволит с минимальными накладными расходами сохранять

поток поступающих слабоструктурированных данных. В Hadoop для

этого используется отказоустойчивая распределенная файловая систе-

ма HDFS (Hadoop Distributed File System). Она разбивает поступаю-

щие данные на блоки и каждый блок попадает на отведенные ему

место в пуле серверов, причем обычно хранится не менее трех копий

блоков, что обеспечивает высокую надежность хранения. Если HDFS

обнаруживает исчезновение блока, то она автоматически восстана-

вливает резервную копию, снова доводя их число до трех. Преимуще-

ство HDFS по сравнению с традиционной технологией RAID состоит

в том, что не требуется специальной аппаратуры, а достаточно просто-

го набора серверов, что особенно привлекательно при использовании

облачных инфраструктур. Однако за все приходится платить: HDFS

менее эффективно использует дисковое пространство, но в условиях

постоянного снижения цен на диски это не является серьезным огра-

ничением [19–21].

Разработчику приложения для Hadoop MapReduce необходимо ре-

ализовать базовый обработчик, который на каждом вычислительном

56 ISSN 0236-3933. Вестник МГТУ им. Н.Э. Баумана. Сер. “Приборостроение”. 2015. № 6