stringtranslate.com

Apache Hadoop

Apache Hadoop ( / ˈ d p / ) — это набор программных утилит с открытым исходным кодом , которые облегчают использование сети из множества компьютеров для решения задач, связанных с большими объемами данных и вычислений. [ неопределенно ] Он предоставляет программную среду для распределенного хранения и обработки больших данных с использованием модели программирования MapReduce . Первоначально Hadoop был разработан для компьютерных кластеров, построенных на основе стандартного оборудования , что до сих пор является общепринятым применением. [3] С тех пор он также нашел применение в кластерах более высокопроизводительного оборудования. [4] [5] Все модули в Hadoop разработаны с фундаментальным предположением, что отказы оборудования являются обычным явлением и должны автоматически обрабатываться средой. [6]

Обзор

Ядро Apache Hadoop состоит из части хранения, известной как Hadoop Distributed File System (HDFS), и части обработки, которая представляет собой модель программирования MapReduce. Hadoop разбивает файлы на большие блоки и распределяет их по узлам кластера. Затем он передает упакованный код в узлы для параллельной обработки данных. Этот подход использует локальность данных , [7] где узлы манипулируют данными, к которым у них есть доступ. Это позволяет обрабатывать набор данных быстрее и эффективнее, чем это было бы в более традиционной архитектуре суперкомпьютера , которая опирается на параллельную файловую систему , где вычисления и данные распределяются через высокоскоростную сеть. [8] [9]

Базовая структура Apache Hadoop состоит из следующих модулей:

Термин Hadoop часто используется как для базовых модулей, так и для подмодулей , а также для экосистемы [12] или набора дополнительных программных пакетов, которые могут быть установлены поверх или вместе с Hadoop, например, Apache Pig , Apache Hive , Apache HBase , Apache Phoenix , Apache Spark , Apache ZooKeeper , Apache Impala , Apache Flume , Apache Sqoop , Apache Oozie и Apache Storm . [13]

Компоненты Apache Hadoop MapReduce и HDFS были вдохновлены документами Google по MapReduce и Google File System . [14]

Сама структура Hadoop в основном написана на языке программирования Java , с некоторым собственным кодом на C и утилитами командной строки , написанными как скрипты оболочки . Хотя код MapReduce Java является распространенным, любой язык программирования может быть использован с Hadoop Streaming для реализации частей map и reduce пользовательской программы. [15] Другие проекты в экосистеме Hadoop предоставляют более богатые пользовательские интерфейсы.

История

По словам его соучредителей, Дуга Каттинга и Майка Кафареллы , истоки Hadoop лежат в статье Google File System, опубликованной в октябре 2003 года. [16] [17] Эта статья породила еще одну от Google — «MapReduce: упрощенная обработка данных в больших кластерах». [18] Разработка началась с проекта Apache Nutch , но была перенесена в новый подпроект Hadoop в январе 2006 года. [19] Дуг Каттинг, работавший в то время в Yahoo !, назвал его в честь игрушечного слона своего сына. [20] Первоначальный код, который был выделен из Nutch, состоял примерно из 5000 строк кода для HDFS и примерно из 6000 строк кода для MapReduce.

В марте 2006 года Оуэн О'Мэлли стал первым участником проекта Hadoop; [21] Hadoop 0.1.0 был выпущен в апреле 2006 года. [22] Он продолжает развиваться благодаря вкладам, которые вносятся в проект. [23] Первый проектный документ для распределенной файловой системы Hadoop был написан Дхрубой Бортакуром в 2007 году. [24]

Архитектура

Hadoop состоит из пакета Hadoop Common , который предоставляет абстракции уровня файловой системы и операционной системы, движка MapReduce (MapReduce/MR1 или YARN/MR2) [32] и распределенной файловой системы Hadoop (HDFS). Пакет Hadoop Common содержит файлы Java Archive (JAR) и скрипты, необходимые для запуска Hadoop.

Для эффективного планирования работы каждая файловая система, совместимая с Hadoop, должна обеспечивать знание местоположения, которое является именем стойки, в частности сетевого коммутатора, где находится рабочий узел. Приложения Hadoop могут использовать эту информацию для выполнения кода на узле, где находятся данные, а в случае неудачи — на той же стойке/коммутаторе для снижения трафика в магистрали. HDFS использует этот метод при репликации данных для избыточности данных на нескольких стойках. Такой подход снижает влияние отключения питания стойки или отказа коммутатора; если произойдет какой-либо из этих аппаратных сбоев, данные останутся доступными. [33]

Кластер Hadoop
Многоузловой кластер Hadoop

Небольшой кластер Hadoop включает один главный и несколько рабочих узлов. Главный узел состоит из Job Tracker, Task Tracker, NameNode и DataNode. Подчиненный или рабочий узел действует как DataNode и TaskTracker, хотя возможны рабочие узлы только для данных и только для вычислений. Обычно они используются только в нестандартных приложениях. [34]

Hadoop требует Java Runtime Environment (JRE) 1.6 или выше. Стандартные сценарии запуска и выключения требуют, чтобы Secure Shell (SSH) был настроен между узлами в кластере. [35]

В более крупном кластере узлы HDFS управляются через выделенный сервер NameNode для размещения индекса файловой системы и вторичный NameNode, который может генерировать снимки структур памяти namenode, тем самым предотвращая повреждение файловой системы и потерю данных. Аналогично, автономный сервер JobTracker может управлять планированием заданий по узлам. Когда Hadoop MapReduce используется с альтернативной файловой системой, архитектура NameNode, вторичный NameNode и DataNode HDFS заменяется эквивалентами, специфичными для файловой системы.

Файловые системы

Распределенная файловая система Hadoop

Распределенная файловая система Hadoop ( HDFS) — это распределенная, масштабируемая и переносимая файловая система, написанная на Java для фреймворка Hadoop. Некоторые считают ее хранилищем данных из- за отсутствия соответствия POSIX , [36] но она предоставляет команды оболочки и методы интерфейса программирования приложений Java (API) , которые похожи на методы других файловых систем. [37] Экземпляр Hadoop делится на HDFS и MapReduce. HDFS используется для хранения данных, а MapReduce — для обработки данных. HDFS имеет пять служб, как указано ниже:

  1. Имя узла
  2. Вторичный узел имени
  3. Трекер работы
  4. Узел данных
  5. Трекер задач

Верхние три — это главные службы/демоны/узлы, а нижние два — подчиненные службы. Главные службы могут общаться друг с другом, и таким же образом подчиненные службы могут общаться друг с другом. Узел имени — это главный узел, а узел данных — это соответствующий ему подчиненный узел, и они могут общаться друг с другом.

Узел имени: HDFS состоит только из одного узла имени, который называется главным узлом. Главный узел может отслеживать файлы, управлять файловой системой и имеет метаданные всех хранящихся в нем данных. В частности, узел имени содержит сведения о количестве блоков, местоположении узла данных, в котором хранятся данные, где хранятся репликации и другие сведения. Узел имени имеет прямой контакт с клиентом.

Узел данных: Узел данных хранит данные в нем в виде блоков. Он также известен как подчиненный узел и хранит фактические данные в HDFS, которая отвечает за чтение и запись клиентом. Это подчиненные демоны. Каждый узел данных отправляет сообщение Heartbeat узлу Name каждые 3 секунды и сообщает, что он активен. Таким образом, когда узел Name не получает heartbeat от узла данных в течение 2 минут, он считает этот узел данных мертвым и запускает процесс репликации блоков на каком-то другом узле данных.

Вторичный узел имени: Он предназначен только для обработки контрольных точек метаданных файловой системы, которые находятся в узле имени. Он также известен как узел контрольной точки. Это вспомогательный узел для узла имени. Вторичный узел имени инструктирует узел имени создать и отправить файл fsimage и editlog, после чего вторичный узел имени создает сжатый файл fsimage. [38]

Job Tracker: Job Tracker получает запросы на выполнение Map Reduce от клиента. Job Tracker обращается к Name Node, чтобы узнать о местоположении данных, которые будут использоваться при обработке. Name Node отвечает метаданными требуемых данных обработки.

Task Tracker: это подчиненный узел для Job Tracker, и он берет задачу из Job Tracker. Он также получает код из Job Tracker. Task Tracker берет код и применяет его к файлу. Процесс применения этого кода к файлу называется Mapper. [39]

Кластер Hadoop номинально имеет один узел имен и кластер узлов данных, хотя для узла имен доступны опции избыточности из -за его критичности. Каждый узел данных обслуживает блоки данных по сети с использованием блочного протокола, специфичного для HDFS. Файловая система использует сокеты TCP/IP для связи. Клиенты используют удаленные вызовы процедур (RPC) для связи друг с другом.

HDFS хранит большие файлы (обычно в диапазоне от гигабайт до терабайт [40] ) на нескольких машинах. Он достигает надежности за счет репликации данных на нескольких хостах, и, следовательно, теоретически не требует избыточного массива независимых дисков (RAID) на хостах (но для повышения производительности ввода-вывода (I/O) некоторые конфигурации RAID все еще полезны). При значении репликации по умолчанию, 3, данные хранятся на трех узлах: два на одной стойке и один на другой стойке. Узлы данных могут взаимодействовать друг с другом для повторной балансировки данных, перемещения копий и поддержания высокого уровня репликации данных. HDFS не полностью совместима с POSIX, поскольку требования к файловой системе POSIX отличаются от целевых целей приложения Hadoop. Компромиссом отсутствия полностью совместимой с POSIX файловой системы является повышенная производительность для пропускной способности данных и поддержка не-POSIX операций, таких как Append. [41]

В мае 2012 года возможности высокой доступности были добавлены в HDFS, [42] позволяя основному серверу метаданных, называемому NameNode, вручную переключаться на резервный. Проект также начал разрабатывать автоматические переключения .

Файловая система HDFS включает так называемый вторичный namenode , вводящий в заблуждение термин, который некоторые могут неправильно интерпретировать как резервный namenode, когда основной namenode отключается. Фактически, вторичный namenode регулярно подключается к первичному namenode и создает снимки информации каталога первичного namenode, которые система затем сохраняет в локальных или удаленных каталогах. Эти контрольные образы можно использовать для перезапуска неисправного первичного namenode без необходимости воспроизводить весь журнал действий файловой системы, а затем редактировать журнал для создания актуальной структуры каталогов. Поскольку namenode является единой точкой для хранения и управления метаданными, он может стать узким местом для поддержки огромного количества файлов, особенно большого количества небольших файлов. HDFS Federation, новое дополнение, направлено на решение этой проблемы в определенной степени, разрешая несколько пространств имен, обслуживаемых отдельными namenode. Более того, в HDFS есть некоторые проблемы, такие как проблемы с небольшими файлами, проблемы масштабируемости, единая точка отказа (SPoF) и узкие места в больших запросах метаданных. Одним из преимуществ использования HDFS является осведомленность о данных между трекером заданий и трекером задач. Трекер заданий планирует задания map или reduce для трекеров задач с учетом местоположения данных. Например: если узел A содержит данные (a, b, c), а узел X содержит данные (x, y, z), трекер заданий планирует узел A для выполнения задач map или reduce на (a, b, c), а узел X будет запланирован для выполнения задач map или reduce на (x, y, z). Это уменьшает объем трафика, проходящего по сети, и предотвращает ненужную передачу данных. Когда Hadoop используется с другими файловыми системами, это преимущество не всегда доступно. Это может оказать существенное влияние на время выполнения заданий, как показано на примере заданий с интенсивным использованием данных. [43]

HDFS была разработана в основном для неизменяемых файлов и может не подходить для систем, требующих одновременных операций записи. [41]

HDFS можно монтировать напрямую с помощью виртуальной файловой системы Filesystem in Userspace (FUSE) в Linux и некоторых других системах Unix .

Доступ к файлам может быть достигнут через собственный API Java, API Thrift (генерирует клиент на нескольких языках, например, C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa , Smalltalk и OCaml ), интерфейс командной строки , веб-приложение HDFS-UI через HTTP или через сторонние сетевые клиентские библиотеки. [44]

HDFS разработана для переносимости между различными аппаратными платформами и для совместимости с различными базовыми операционными системами. Конструкция HDFS вводит ограничения переносимости, которые приводят к некоторым узким местам производительности, поскольку реализация Java не может использовать функции, которые являются эксклюзивными для платформы, на которой работает HDFS. [45] Из-за своей широкой интеграции в инфраструктуру корпоративного уровня, мониторинг производительности HDFS в масштабе становится все более важной проблемой. Мониторинг сквозной производительности требует отслеживания метрик от узлов данных, узлов имен и базовой операционной системы. [46] В настоящее время существует несколько платформ мониторинга для отслеживания производительности HDFS, включая Hortonworks , Cloudera и Datadog .

Другие файловые системы

Hadoop работает напрямую с любой распределенной файловой системой, которая может быть смонтирована базовой операционной системой, просто используя file://URL; однако это имеет свою цену — потерю локальности. Чтобы уменьшить сетевой трафик, Hadoop необходимо знать, какие серверы находятся ближе всего к данным, — информацию, которую могут предоставить мосты файловой системы Hadoop.

В мае 2011 года список поддерживаемых файловых систем, входящих в комплект Apache Hadoop, был следующим:

Также было написано несколько сторонних файловых систем-мостов, ни один из которых в настоящее время не входит в дистрибутивы Hadoop. Однако некоторые коммерческие дистрибутивы Hadoop поставляются с альтернативной файловой системой по умолчанию – в частности, IBM и MapR .

JobTracker и TaskTracker: движок MapReduce

Поверх файловых систем находится MapReduce Engine, который состоит из одного JobTracker , которому клиентские приложения отправляют задания MapReduce. JobTracker отправляет работу на доступные узлы TaskTracker в кластере, стремясь сохранить работу как можно ближе к данным. Благодаря файловой системе, учитывающей стойки, JobTracker знает, какой узел содержит данные и какие другие машины находятся поблизости. Если работа не может быть размещена на фактическом узле, где находятся данные, приоритет отдается узлам в той же стойке. Это снижает сетевой трафик в основной магистральной сети. Если TaskTracker выходит из строя или истекает время ожидания, эта часть задания перепланируется. TaskTracker на каждом узле порождает отдельный процесс виртуальной машины Java (JVM), чтобы предотвратить сбой самого TaskTracker, если выполняемое задание приводит к сбою его JVM. Heartbeat отправляется от TaskTracker к JobTracker каждые несколько минут для проверки его статуса. Статус и информация о Job Tracker и TaskTracker отображаются в Jetty и могут быть просмотрены через веб-браузер.

Известные ограничения этого подхода:

  1. Распределение работы по TaskTrackers очень простое. Каждый TaskTracker имеет несколько доступных слотов (например, «4 слота»). Каждая активная задача map или reduce занимает один слот. Job Tracker распределяет работу по ближайшему к данным трекеру с доступным слотом. Текущая загрузка системы выделенной машины и, следовательно, ее фактическая доступность не учитываются .
  2. Если один TaskTracker очень медленный, он может задержать всю работу MapReduce – особенно ближе к концу, когда все может оказаться в ожидании самой медленной задачи. Однако при включенном спекулятивном выполнении одна задача может быть выполнена на нескольких подчиненных узлах.

Планирование

По умолчанию Hadoop использует планирование FIFO и опционально 5 приоритетов планирования для планирования заданий из рабочей очереди. [53] В версии 0.19 планировщик заданий был реорганизован из JobTracker, при этом была добавлена ​​возможность использовать альтернативный планировщик (такой как планировщик Fair или планировщик Capacity , описанные далее). [54]

Планировщик ярмарок

Справедливый планировщик был разработан Facebook . [55] Цель справедливого планировщика — обеспечить быстрое время отклика для небольших заданий и качество обслуживания (QoS) для производственных заданий. Справедливый планировщик имеет три основных концепции. [56]

  1. Задания сгруппированы в группы .
  2. Каждому пулу присваивается гарантированная минимальная доля.
  3. Избыточные мощности распределяются между рабочими местами.

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

Планировщик мощности

Планировщик мощностей был разработан Yahoo. Планировщик мощностей поддерживает несколько функций, которые похожи на функции справедливого планировщика. [57]

  1. Очереди занимают лишь часть общей емкости ресурсов.
  2. Бесплатные ресурсы выделяются очередям сверх их общей емкости.
  3. Внутри очереди задание с высоким уровнем приоритета имеет доступ к ресурсам очереди.

После выполнения задания приоритет отсутствует .

Разница между Hadoop 1 и Hadoop 2 (YARN)

Наибольшее различие между Hadoop 1 и Hadoop 2 — это добавление YARN (Yet Another Resource Negotiator), который заменил движок MapReduce в первой версии Hadoop. YARN стремится эффективно распределять ресурсы между различными приложениями. Он запускает два демона, которые выполняют две разные задачи: менеджер ресурсов , который отслеживает задания и распределяет ресурсы между приложениями, мастер приложений , который отслеживает ход выполнения.

Разница между Hadoop 2 и Hadoop 3

Hadoop 3 предоставляет важные функции. Например, хотя в Hadoop 2 есть один узел имен , Hadoop 3 позволяет иметь несколько узлов имен, что решает проблему единой точки отказа.

В Hadoop 3 есть контейнеры, работающие по принципу Docker , что сокращает время, затрачиваемое на разработку приложений.

Одним из самых больших изменений является то, что Hadoop 3 снижает накладные расходы на хранение данных с помощью стирающего кодирования .

Кроме того, Hadoop 3 позволяет использовать аппаратное обеспечение GPU в кластере, что является весьма существенным преимуществом для выполнения алгоритмов глубокого обучения в кластере Hadoop. [58]

Другие приложения

HDFS не ограничивается заданиями MapReduce. Его можно использовать для других приложений, многие из которых находятся в стадии разработки в Apache. Список включает базу данных HBase , систему машинного обучения Apache Mahout и хранилище данных Apache Hive . Теоретически Hadoop можно использовать для любой рабочей нагрузки, ориентированной на пакетную обработку, а не на обработку в реальном времени, с большим объемом данных и преимуществами параллельной обработки . Его также можно использовать для дополнения системы реального времени, такой как архитектура lambda , Apache Storm , Flink и Spark Streaming . [59]

Коммерческие приложения Hadoop включают: [60]

Известные варианты использования

19 февраля 2008 года Yahoo! Inc. запустила, как они утверждали, крупнейшее в мире производственное приложение Hadoop. Yahoo! Search Webmap — это приложение Hadoop, работающее на кластере Linux с более чем 10 000 ядер и создающее данные, которые использовались в каждом поисковом запросе Yahoo!. [61] В Yahoo! есть несколько кластеров Hadoop, и никакие файловые системы HDFS или задания MapReduce не разделены между несколькими центрами обработки данных. Каждый узел кластера Hadoop загружает образ Linux, включая дистрибутив Hadoop. Известно, что работа, выполняемая кластерами, включает в себя расчеты индекса для поисковой системы Yahoo!. В июне 2009 года Yahoo! предоставила исходный код своей версии Hadoop сообществу открытого исходного кода. [62]

В 2010 году Facebook заявил, что у них самый большой кластер Hadoop в мире с 21 ПБ хранилища. [63] В июне 2012 года они объявили, что объем данных вырос до 100 ПБ [64] , а позднее в том же году они объявили, что объем данных растет примерно на пол-ПБ в день. [65]

По состоянию на 2013 год внедрение Hadoop стало широко распространенным: более половины компаний из списка Fortune 50 использовали Hadoop. [66]

Хостинг Hadoop в облаке

Hadoop можно развернуть как в традиционном локальном центре обработки данных, так и в облаке . [67] Облако позволяет организациям разворачивать Hadoop без необходимости приобретения оборудования или специальных навыков настройки. [68]

Коммерческая поддержка

Ряд компаний предлагают коммерческие реализации или поддержку Hadoop. [69]

Брендинг

Apache Software Foundation заявил, что только программное обеспечение, официально выпущенное Apache Hadoop Project, может называться Apache Hadoop или Дистрибутивами Apache Hadoop . [70] Наименование продуктов и производных работ от других поставщиков, а также термин «совместимый» являются несколько спорными в сообществе разработчиков Hadoop. [71]

Статьи

Некоторые статьи повлияли на рождение и развитие Hadoop и обработки больших данных. Вот некоторые из них:

Смотрите также

Ссылки

  1. ^ "Hadoop Releases". apache.org . Apache Software Foundation . Получено 28 апреля 2019 г. .
  2. ^ ab "Apache Hadoop" . Получено 27 сентября 2022 г. .
  3. Джадж, Питер (22 октября 2012 г.). «Doug Cutting: Big Data Is No Bubble». silicon.co.uk . Получено 11 марта 2018 г.
  4. ^ Вуди, Алекс (12 мая 2014 г.). «Почему Hadoop на IBM Power». datanami.com . Datanami . Получено 11 марта 2018 г. .
  5. ^ Хемсот, Николь (15 октября 2014 г.). «Cray запускает Hadoop в HPC Airspace». hpcwire.com . Получено 11 марта 2018 г. .
  6. ^ «Добро пожаловать в Apache Hadoop!». hadoop.apache.org . Получено 25 августа 2016 г. .
  7. ^ «Что такое распределенная файловая система Hadoop (HDFS)?». ibm.com . IBM . Получено 12 апреля 2021 г. .
  8. ^ Малак, Майкл (19 сентября 2014 г.). «Локальность данных: HPC против Hadoop против Spark». datascienceassn.org . Ассоциация науки о данных . Получено 30 октября 2014 г. .
  9. ^ Ван, Яньдун; Голдстоун, Робин; Ю, Вэйкуань; Ван, Тенг (октябрь 2014 г.). «Характеристика и оптимизация MapReduce с резидентной памятью в системах HPC». 28-й Международный симпозиум IEEE по параллельной и распределенной обработке данных 2014 г. IEEE. стр. 799–808. doi :10.1109/IPDPS.2014.87. ISBN 978-1-4799-3800-1. S2CID  11157612.
  10. ^ "Ресурс (API Apache Hadoop Main 2.5.1)". apache.org . Apache Software Foundation. 12 сентября 2014 г. Архивировано из оригинала 6 октября 2014 г. Получено 30 сентября 2014 г.
  11. ^ Мурти, Арун (15 августа 2012 г.). «Apache Hadoop YARN – Концепции и приложения». hortonworks.com . Hortonworks . Получено 30 сентября 2014 г. .
  12. ^ "Continuuity привлекает $10 млн в рамках раунда A для стимулирования разработки приложений для обработки больших данных в экосистеме Hadoop". finance.yahoo.com . Marketwired . 14 ноября 2012 г. Получено 30 октября 2014 г.
  13. ^ "Проекты, связанные с Hadoop на". Hadoop.apache.org . Получено 17 октября 2013 г. .
  14. ^ Наука о данных и аналитика больших данных: обнаружение, анализ, визуализация и представление данных. John Wiley & Sons. 19 декабря 2014 г. стр. 300. ISBN 9781118876220. Получено 29 января 2015 г.
  15. ^ "[nlpatumd] Приключения с Hadoop и Perl". Mail-archive.com. 2 мая 2010 г. Получено 5 апреля 2013 г.
  16. Каттинг, Майк; Кафарелла, Бен; Лорика, Дуг (31 марта 2016 г.). «Следующие 10 лет Apache Hadoop». O'Reilly Media . Получено 12 октября 2017 г.
  17. ^ Гемават, Санджай; Гобиофф, Ховард; Леунг, Шун-Так (2003). «Файловая система Google». С. 20–43.
  18. ^ Дин, Джеффри; Гемават, Санджай (2004). «MapReduce: упрощенная обработка данных на больших кластерах». С. 137–150.
  19. Каттинг, Дуг (28 января 2006 г.). "новый запрос на рассылку: hadoop". issues.apache.org . Lucene PMC проголосовал за разделение части Nutch на новый подпроект под названием Hadoop
  20. ^ Вэнс, Эшли (17 марта 2009 г.). «Hadoop, бесплатная программа, находит применение за пределами поиска». The New York Times . Архивировано из оригинала 30 августа 2011 г. Получено 20 января 2010 г.
  21. Каттинг, Дуг (30 марта 2006 г.). «[РЕЗУЛЬТАТ] ГОЛОСОВАНИЕ: добавить Оуэна О'Мэлли в качестве коммиттера Hadoop». hadoop-common-dev (список рассылки).
  22. ^ "Индекс /dist/hadoop/core". archive.apache.org . Получено 11 декабря 2017 г. .
  23. ^ "Кто мы". hadoop.apache.org . Получено 11 декабря 2017 г. .
  24. ^ Бортакур, Дхруба (2006). «Распределенная файловая система Hadoop: архитектура и дизайн» (PDF) . Репозиторий кода Apache Hadoop .
  25. ^ "Доступен релиз 2.10.2". hadoop.apache.org .
  26. ^ "Выпуск 3.0.0 доступен всем". hadoop.apache.org .
  27. ^ "Доступен релиз 3.0.3". hadoop.apache.org .
  28. ^ "Доступен релиз 3.1.4". hadoop.apache.org .
  29. ^ "Доступен релиз 3.2.4". hadoop.apache.org .
  30. ^ "Доступен релиз 3.3.6". hadoop.apache.org .
  31. ^ "Доступен релиз 3.4.0". hadoop.apache.org .
  32. ^ Chouraria, Harsh (21 октября 2012 г.). "MR2 и YARN вкратце объяснены". Cloudera.com . Архивировано из оригинала 22 октября 2013 г. . Получено 23 октября 2013 г. .
  33. ^ "Руководство пользователя HDFS". Hadoop.apache.org . Получено 4 сентября 2014 г. .
  34. ^ «Запуск Hadoop в системе Ubuntu Linux (многоузловой кластер)».
  35. ^ "Запуск Hadoop на Ubuntu Linux (кластер с одним узлом)" . Получено 6 июня 2013 г. .
  36. ^ Эванс, Крис (октябрь 2013 г.). «Хранилище больших данных: основы хранения Hadoop». computerweekly.com . Computer Weekly . Получено 21 июня 2016 г. . HDFS не является файловой системой в традиционном смысле и обычно не монтируется напрямую для просмотра пользователем.
  37. ^ deRoos, Dirk. "Управление файлами с помощью команд файловой системы Hadoop". dummies.com . Для чайников . Получено 21 июня 2016 г. .
  38. ^ Балрам. «Учебник по большим данным Hadoop для начинающих». www.gyansetu.in . Получено 11 марта 2021 г. .
  39. ^ "Apache Hadoop 2.7.5 – HDFS Users Guide". Архивировано из оригинала 23 октября 2019 г. Получено 19 июня 2020 г.
  40. ^ "Архитектура HDFS" . Получено 1 сентября 2013 г.
  41. ^ ab Пессах, Янив (2013). «Распределенное хранилище» (Распределенное хранилище: концепции, алгоритмы и реализации, ред.). OL  25423189M. {{cite journal}}: Цитировать журнал требует |journal=( помощь )
  42. ^ "Версия 2.0 обеспечивает ручное аварийное переключение, и они работают над автоматическим аварийным переключением". Hadoop.apache.org . Получено 30 июля 2013 г.
  43. ^ "Улучшение производительности MapReduce за счет размещения данных в гетерогенных кластерах Hadoop" (PDF) . Eng.auburn.ed. Апрель 2010 г.
  44. ^ "Монтирование HDFS". Архивировано из оригинала 14 мая 2014 года . Получено 5 августа 2016 года .
  45. ^ Шафер, Джеффри; Рикснер, Скотт; Кокс, Алан. «Распределенная файловая система Hadoop: балансировка переносимости и производительности» (PDF) . Университет Райса . Получено 19 сентября 2016 г. .
  46. ^ Музакитис, Эван (21 июля 2016 г.). «Как собирать показатели производительности Hadoop» . Получено 24 октября 2016 г.
  47. ^ "HDFS Users Guide – Rack Awareness". Hadoop.apache.org . Получено 17 октября 2013 г. .
  48. ^ «Облачная аналитика: действительно ли нам нужно заново изобретать стек хранения?» (PDF) . IBM. Июнь 2009 г.
  49. ^ "HADOOP-6330: Интеграция реализации IBM General Parallel File System интерфейса Hadoop Filesystem". IBM. 23 октября 2009 г.
  50. ^ "HADOOP-6704: добавить поддержку файловой системы Parascale". Parascale. 14 апреля 2010 г.
  51. ^ "HDFS with CloudIQ Storage". Appistry, Inc. 6 июля 2010 г. Архивировано из оригинала 5 апреля 2014 г. Получено 10 декабря 2013 г.
  52. ^ "High Availability Hadoop". HP. 9 июня 2010 г.
  53. ^ "Commands Guide". 17 августа 2011 г. Архивировано из оригинала 17 августа 2011 г. Получено 11 декабря 2017 г.{{cite web}}: CS1 maint: бот: исходный статус URL неизвестен ( ссылка )
  54. ^ "Рефакторинг планировщика из JobTracker". Hadoop Common . Apache Software Foundation . Получено 9 июня 2012 г.
  55. ^ Джонс, М. Тим (6 декабря 2011 г.). «Планирование в Hadoop». ibm.com . IBM . Получено 20 ноября 2013 г. .
  56. ^ "Hadoop Fair Scheduler Design Document" (PDF) . apache.org . Получено 12 октября 2017 г. .
  57. ^ "CapacityScheduler Guide". Hadoop.apache.org . Получено 31 декабря 2015 г. .
  58. ^ «Как Apache Hadoop 3 добавляет ценности Apache Hadoop 2». hortonworks.com . 7 февраля 2018 г. Архивировано из оригинала 16 ноября 2018 г. Получено 11 июня 2018 г.
  59. ^ Чинтапалли, Санкет; Дагит, Дерек; Эванс, Бобби; Фаривар, Реза; Грейвс, Томас; Холдербо, Марк; Лю, Чжо; Нусбаум, Кайл; Патил, Кишоркумар; Пэн, Боянг Джерри; Пулоски, Пол (май 2016 г.). «Бенчмаркинг потоковых вычислительных движков: Storm, Flink и Spark Streaming». IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW) 2016 г. IEEE. стр. 1789–1792. doi :10.1109/IPDPSW.2016.138. ISBN 978-1-5090-3682-0. S2CID  2180634.
  60. ^ ""Как более 30 предприятий используют Hadoop", в DBMS2". Dbms2.com. 10 октября 2009 г. Получено 17 октября 2013 г.
  61. ^ "Yahoo! Launches World's Largest Hadoop Production Application". Yahoo . 19 февраля 2008 г. Архивировано из оригинала 7 марта 2016 г. Получено 31 декабря 2015 г.
  62. ^ «Hadoop и распределенные вычисления в Yahoo!». Yahoo!. 20 апреля 2011 г. Получено 17 октября 2013 г.
  63. ^ "HDFS: Facebook имеет крупнейший в мире кластер Hadoop!". Hadoopblog.blogspot.com. 9 мая 2010 г. Получено 23 мая 2012 г.
  64. ^ "Под капотом: надежность распределенной файловой системы Hadoop с Namenode и Avatarnode". Facebook . Получено 13 сентября 2012 г. .
  65. ^ "Под капотом: Планирование заданий MapReduce более эффективно с помощью Corona". Facebook . Получено 9 ноября 2012 г. .
  66. ^ "AltraSTAR – Hadoop Storage Accelerator and Optimizer от Altior теперь сертифицирован на CDH4 (Cloudera's Distribution Including Apache Hadoop Version 4)" (пресс-релиз). Итонтаун, Нью-Джерси: Altior Inc. 18 декабря 2012 г. Получено 30 октября 2013 г.
  67. ^ "Hadoop - Microsoft Azure". azure.microsoft.com . Получено 11 декабря 2017 г. .
  68. ^ "Hadoop". Azure.microsoft.com . Получено 22 июля 2014 г. .
  69. ^ «Почему темпы инноваций Hadoop должны ускориться». Gigaom.com. 25 апреля 2011 г. Получено 17 октября 2013 г.
  70. ^ "Определение Hadoop". Wiki.apache.org. 30 марта 2013 г. Получено 17 октября 2013 г.
  71. ^ «Определение совместимости Hadoop: пересмотрено». Mail-archives.apache.org. 10 мая 2011 г. Получено 17 октября 2013 г.
  72. ^ "Руководство пользователя Apache Accumulo: Безопасность". apache.org . Apache Software Foundation . Получено 3 декабря 2014 г. .

Библиография

Внешние ссылки