Апач Хадуп

Из Википедии, бесплатной энциклопедии
Апач Хадуп
Оригинальный автор(ы) Даг Каттинг , Майк Кафарелла
Разработчики) Фонд программного обеспечения Apache
Начальная версия 1 апреля 2006 г .; 18 лет назад ( 01.04.2006 ) [1]
Стабильная версия
2.10.х 2.10.2 / 31 мая 2022 г .; 2 года назад ( 31 мая 2022 ) [2]
3.4.х 3.4.0 / 17 марта 2024 г .; 2 месяца назад ( 17.03.2024 ) [2]
Репозиторий Репозиторий Hadoop
Написано в Джава
Операционная система Кросс-платформенный
Тип Распределенная файловая система
Лицензия Лицензия Апач 2.0
Веб-сайт хадуп .apache .org Отредактируйте это в Викиданных

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

Обзор [ править ]

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

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

  • Hadoop Common – содержит библиотеки и утилиты, необходимые для других модулей Hadoop;
  • Распределенная файловая система Hadoop (HDFS) – распределенная файловая система, которая хранит данные на обычных машинах, обеспечивая очень высокую совокупную пропускную способность по всему кластеру;
  • Hadoop YARN – (представлена ​​в 2012 г.) – платформа, отвечающая за управление вычислительными ресурсами в кластерах и их использование для планирования работы пользовательских приложений; [10] [11]
  • Hadoop MapReduce — реализация модели программирования MapReduce для крупномасштабной обработки данных.
  • Hadoop Ozone - (представлен в 2020 г.) Хранилище объектов для Hadoop.

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

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

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

История [ править ]

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

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

Версия Исходная дата выпуска Последняя версия Дата выпуска
Старая версия, больше не поддерживается: 0.10. 0.10.1 2007-01-11
Старая версия, больше не поддерживается: 0.11. 0.11.2 2007-02-16
Старая версия, больше не поддерживается: 0.12. 2007-03-02 0.12.3 2007-04-06
Старая версия, больше не поддерживается: 0.13. 2007-06-04 0.13.1 2007-07-23
Старая версия, больше не поддерживается: 0.14. 2007-09-04 0.14.4 2007-11-26
Старая версия, больше не поддерживается: 0.15. 2007-10-29 0.15.3 2008-01-18
Старая версия, больше не поддерживается: 0.16. 2008-02-07 0.16.4 2008-05-05
Старая версия, больше не поддерживается: 0.17. 2008-05-20 0.17.2 2008-08-19
Старая версия, больше не поддерживается: 0.18. 2008-08-22 0.18.3 2009-01-29
Старая версия, больше не поддерживается: 0.19. 2008-11-21 0.19.2 2009-07-23
Старая версия, больше не поддерживается: 0.20. 2009-04-22 0.20.205.0 2011-10-17
Старая версия, больше не поддерживается: 0.21. 2011-05-11 0.21.0
Старая версия, больше не поддерживается: 0.22. 2011-12-10 0.22.0
Старая версия, больше не поддерживается: 0.23. 2011-11-11 0.23.11 2014-06-27
Старая версия, больше не поддерживается: 1.0. 2011-12-27 1.0.4 2012-10-12
Старая версия, больше не поддерживается: 1.1. 2012-10-13 1.1.2 2013-02-15
Старая версия, больше не поддерживается: 1.2. 2013-05-13 1.2.1 2013-08-01
Старая версия, больше не поддерживается: 2.0. 2012-05-23 2.0.6-альфа 2013-08-23
Старая версия, больше не поддерживается: 2.1. 2013-08-25 2.1.1-бета 2013-09-23
Старая версия, больше не поддерживается: 2.2. 2013-12-11 2.2.0
Старая версия, больше не поддерживается: 2.3. 2014-02-20 2.3.0
Старая версия, больше не поддерживается: 2.4. 2014-04-07 2.4.1 2014-06-30
Старая версия, больше не поддерживается: 2.5. 2014-08-11 2.5.2 2014-11-19
Старая версия, больше не поддерживается: 2.6. 2014-11-18 2.6.5 2016-10-08
Старая версия, больше не поддерживается: 2.7. 2015-04-21 2.7.7 2018-05-31
Старая версия, больше не поддерживается: 2.8. 2017-03-22 2.8.5 2018-09-15
Старая версия, больше не поддерживается: 2.9. 2017-12-17 2.9.2 2018-11-19
Старая версия, но все еще поддерживается: 2.10. 2019-10-29 2.10.2 2022-05-31 [25]
Старая версия, больше не поддерживается: 3.0. 2017-12-13 [26] 3.0.3 2018-05-31 [27]
Старая версия, больше не поддерживается: 3.1. 2018-04-06 3.1.4 2020-08-03 [28]
Текущая стабильная версия: 3.2. 2019-01-16 3.2.4 2022-07-22 [29]
Текущая стабильная версия: 3.3. 2020-07-14 3.3.6 2023-06-23 [30]
Текущая стабильная версия: 3.4. 2024-03-17 3.4.0 2024-07-17 [31]
Легенда:
Старая версия
Старая версия, все еще поддерживается
Последняя версия
Последняя предварительная версия
Будущий выпуск

Архитектура [ править ]

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 (JRE) 1.6 или выше. Стандартные сценарии запуска и завершения работы требуют установки Secure Shell (SSH) между узлами кластера. [35]

В более крупном кластере узлы HDFS управляются через выделенный сервер NameNode, на котором размещается индекс файловой системы, и вторичный NameNode, который может создавать снимки структур памяти узла name, тем самым предотвращая повреждение файловой системы и потерю данных. Аналогично, автономный сервер 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 узлу имени каждые 3 секунды и сообщает, что он активен. Таким образом, если узел имени не получает контрольного сигнала от узла данных в течение 2 минут, он считает этот узел данных мертвым и запускает процесс репликации блоков на каком-либо другом узле данных.

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

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

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

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

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

Доступ к файлам может быть обеспечен через собственный Java API, Thrift API (создает клиент на нескольких языках, например 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 был:

  • HDFS: собственная файловая система Hadoop, предназначенная для установки в стойку. [47] Он предназначен для масштабирования до десятков петабайт памяти и работает поверх файловых систем базовых операционных систем .
  • Apache Hadoop Ozone: HDFS-совместимое хранилище объектов, оптимизированное для миллиардов небольших файлов.
  • Файловая система FTP : все данные хранятся на удаленно доступных FTP-серверах.
  • Объектное хранилище Amazon S3 (Simple Storage Service) : предназначено для кластеров, размещенных в Amazon Elastic Compute Cloud инфраструктуре серверов по требованию . В этой файловой системе нет поддержки стойки, поскольку она полностью удалена.
  • Файловая система Windows Azure Storage Blobs (WASB). Это расширение HDFS, которое позволяет дистрибутивам Hadoop получать доступ к данным в хранилищах BLOB-объектов Azure без постоянного перемещения данных в кластер.

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

  • В 2009 году IBM обсуждала запуск Hadoop поверх IBM General Parallel File System . [48] Исходный код был опубликован в октябре 2009 года. [49]
  • В апреле 2010 года компания Parascale опубликовала исходный код для запуска Hadoop в файловой системе Parascale. [50]
  • В апреле 2010 года Appistry выпустила драйвер файловой системы Hadoop для использования со своим собственным продуктом CloudIQ Storage. [51]
  • В июне 2010 года HP с учетом местоположения . IBRIX Fusion обсудила драйвер файловой системы [52]
  • В мае 2011 года MapR Technologies Inc. объявила о доступности альтернативной файловой системы для Hadoop, MapR FS , которая заменила файловую систему HDFS файловой системой с полным произвольным доступом для чтения и записи.

JobTracker и TaskTracker: движок MapReduce [ править ]

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

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

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

Планирование [ править ]

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

Планировщик ярмарки [ править ]

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

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

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

Планировщик емкости [ править ]

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

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

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

Разница между Hadoop 1 и Hadoop 2 (YARN) [ править ]

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

Разница между Hadoop 2 и Hadoop 3 [ править ]

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

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

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

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

Другие приложения [ править ]

HDFS не ограничивается заданиями MapReduce. Его можно использовать для других приложений, многие из которых находятся в стадии разработки в Apache. В список вошли база данных HBase , Apache Mahout система машинного обучения и Apache Hive хранилище данных . Теоретически Hadoop можно использовать для любой рабочей нагрузки, которая ориентирована на пакетную обработку, а не на работу в режиме реального времени, требует большого объема данных и получает преимущества от параллельной обработки . Его также можно использовать для дополнения систем реального времени, таких как лямбда-архитектура , 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, может называться Apache Hadoop или дистрибутивами Apache Hadoop . [70] Названия продуктов и производных продуктов других поставщиков, а также термин «совместимый» вызывают некоторые споры в сообществе разработчиков Hadoop. [71]

Документы [ править ]

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

См. также [ править ]

Ссылки [ править ]

  1. ^ «Релизы Hadoop» . apache.org . Фонд программного обеспечения Apache . Проверено 28 апреля 2019 г.
  2. ^ Перейти обратно: а б «Апач Хадуп» . Проверено 27 сентября 2022 г.
  3. ^ Судья Питер (22 октября 2012 г.). «Даг Каттинг: Большие данные — это не пузырь» . Silicon.co.uk . Проверено 11 марта 2018 г.
  4. ^ Вуди, Алекс (12 мая 2014 г.). «Почему Hadoop в IBM Power» . datanami.com . Датанами . Проверено 11 марта 2018 г.
  5. ^ Хемсот, Николь (15 октября 2014 г.). «Cray запускает Hadoop в воздушное пространство высокопроизводительных вычислений» . hpcwire.com . Проверено 11 марта 2018 г.
  6. ^ «Добро пожаловать в Apache Hadoop!» . Hadoop.apache.org . Проверено 25 августа 2016 г.
  7. ^ «Что такое распределенная файловая система Hadoop (HDFS)?» . IBM.com . ИБМ . Проверено 12 апреля 2021 г.
  8. ^ Малак, Майкл (19 сентября 2014 г.). «Локализация данных: HPC против Hadoop против Spark» . datascienceassn.org . Ассоциация науки о данных . Проверено 30 октября 2014 г.
  9. ^ Ван, Яньдун; Голдстоун, Робин; Ю, Вэйкуань; Ван, Дэн (октябрь 2014 г.). «Характеристика и оптимизация резидентной памяти MapReduce в системах HPC». 2014 28-й Международный симпозиум IEEE по параллельной и распределенной обработке . IEEE. стр. 799–808. дои : 10.1109/IPDPS.2014.87 . ISBN  978-1-4799-3800-1 . S2CID   11157612 .
  10. ^ «Ресурс (API Apache Hadoop Main 2.5.1)» . apache.org . Фонд программного обеспечения Apache. 12 сентября 2014 года. Архивировано из оригинала 6 октября 2014 года . Проверено 30 сентября 2014 г.
  11. ^ Мурти, Арун (15 августа 2012 г.). «Apache Hadoop YARN – концепции и приложения» . hortonworks.com . Хортонворкс . Проверено 30 сентября 2014 г.
  12. ^ «Continuuity привлекает 10 миллионов долларов в рамках раунда для стимулирования разработки приложений для обработки больших данных в экосистеме Hadoop» . финансы.yahoo.com . Маркетпроводной . 14 ноября 2012 года . Проверено 30 октября 2014 г.
  13. ^ «Проекты, связанные с Hadoop, в» . Hadoop.apache.org . Проверено 17 октября 2013 г.
  14. ^ Наука о данных и аналитика больших данных: обнаружение, анализ, визуализация и представление данных . Джон Уайли и сыновья. 19 декабря 2014 г. с. 300. ИСБН  9781118876220 . Проверено 29 января 2015 г.
  15. ^ «[nlpatumd] Приключения с Hadoop и Perl» . Mail-archive.com. 2 мая 2010 года . Проверено 5 апреля 2013 г.
  16. ^ Каттинг, Майк; Кафарелла, Бен; Лорика, Дуг (31 марта 2016 г.). «Следующие 10 лет Apache Hadoop» . О'Рейли Медиа . Проверено 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, бесплатная программа, находит применение не только в поиске» . Нью-Йорк Таймс . Архивировано из оригинала 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. ^ Чуария, Харш (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» . www.computerweekly.com . Компьютерный еженедельник . Проверено 21 июня 2016 г. HDFS не является файловой системой в традиционном смысле и обычно не монтируется напрямую для просмотра пользователем.
  37. ^ деРоос, Дирк. «Управление файлами с помощью команд файловой системы Hadoop» . dummies.com . Для начинающих, для "чайников . Проверено 21 июня 2016 г.
  38. ^ Балрам. «Руководство по Hadoop для работы с большими данными для начинающих» . www.gyansetu.in . Проверено 11 марта 2021 г.
  39. ^ «Apache Hadoop 2.7.5 — Руководство пользователя HDFS» . Архивировано из оригинала 23 октября 2019 года . Проверено 19 июня 2020 г.
  40. ^ «Архитектура HDFS» . Проверено 1 сентября 2013 г.
  41. ^ Перейти обратно: а б Песах, Янив (2013). «Распределенное хранилище» (Распределенное хранилище: концепции, алгоритмы и реализации под ред.). ОЛ   25423189М . {{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 – Информация о стойке» . Hadoop.apache.org . Проверено 17 октября 2013 г.
  48. ^ «Облачная аналитика: действительно ли нам нужно изобретать заново стек хранилища?» (PDF) . ИБМ. Июнь 2009 года.
  49. ^ «HADOOP-6330: Интеграция реализации IBM General Parallel File System интерфейса Hadoop Filesystem» . ИБМ. 23 октября 2009 г.
  50. ^ «HADOOP-6704: добавить поддержку файловой системы Parascale» . Параскейл. 14 апреля 2010 г.
  51. ^ «HDFS с хранилищем CloudIQ» . Appistry, Inc. 6 июля 2010 г. Архивировано из оригинала 5 апреля 2014 г. . Проверено 10 декабря 2013 г.
  52. ^ «Hadoop высокой доступности» . ХП. 9 июня 2010 г.
  53. ^ «Руководство по командам» . 17 августа 2011 года. Архивировано из оригинала 17 августа 2011 года . Проверено 11 декабря 2017 г. {{cite web}}: CS1 maint: bot: исходный статус URL неизвестен ( ссылка )
  54. ^ «Реорганизовать планировщик из JobTracker» . Hadoop общий . Фонд программного обеспечения Apache . Проверено 9 июня 2012 года .
  55. ^ Джонс, М. Тим (6 декабря 2011 г.). «Планирование в Hadoop» . IBM.com . ИБМ . Проверено 20 ноября 2013 г.
  56. ^ «Проектный документ планировщика Hadoop Fair» (PDF) . apache.org . Проверено 12 октября 2017 г.
  57. ^ «Руководство по планировщику мощностей» . 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». Семинары Международного симпозиума IEEE по параллельной и распределенной обработке (IPDPSW) , 2016 г. IEEE. стр. 1789–1792. дои : 10.1109/IPDPSW.2016.138 . ISBN  978-1-5090-3682-0 . S2CID   2180634 .
  60. ^ « Как более 30 предприятий используют Hadoop в СУБД2» . Dbms2.com. 10 октября 2009 года . Проверено 17 октября 2013 г.
  61. ^ «Yahoo! запускает крупнейшее в мире производственное приложение Hadoop» . Яху . 19 февраля 2008 г. Архивировано из оригинала 7 марта 2016 г. . Проверено 31 декабря 2015 г.
  62. ^ «Hadoop и распределенные вычисления в Yahoo!» . Яху!. 20 апреля 2011 года . Проверено 17 октября 2013 г.
  63. ^ «HDFS: у Facebook самый большой в мире кластер Hadoop!» . Hadoopblog.blogspot.com. 9 мая 2010 года . Проверено 23 мая 2012 г.
  64. ^ «Под капотом: надежность распределенной файловой системы Hadoop с Namenode и Avatarnode» . Фейсбук . Проверено 13 сентября 2012 г.
  65. ^ «Под капотом: планирование MapReduce рабочих мест более эффективно с помощью Corona» . Фейсбук . Проверено 9 ноября 2012 г.
  66. ^ «Altior's AltraSTAR — ускоритель и оптимизатор хранилища Hadoop теперь сертифицирован для CDH4 (дистрибутив Cloudera, включая Apache Hadoop версии 4)» (пресс-релиз). Итонтаун, Нью-Джерси: Altior Inc., 18 декабря 2012 г. Проверено 30 октября 2013 г.
  67. ^ «Хадуп — Microsoft Azure» . azure.microsoft.com . Проверено 11 декабря 2017 г.
  68. ^ «Хадуп» . Azure.microsoft.com . Проверено 22 июля 2014 г.
  69. ^ «Почему темпы внедрения инноваций Hadoop должны ускориться» . Гигаом.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 . Проверено 3 декабря 2014 г.

Библиография [ править ]

Внешние ссылки [ править ]