Apache Hadoop ( / ч ə д ¯u р / ) представляет собой набор с открытым исходным кодом утилита программного обеспечения , которое облегчает с использованием сети многих компьютеров для решения проблем , связанные с большими объемами данных и вычислений. Он предоставляет программную основу для распределенного хранения и обработки больших данных с использованием модели программирования MapReduce . Изначально Hadoop был разработан для компьютерных кластеров, построенных на стандартном оборудовании , которое до сих пор широко используется. [3] С тех пор он также нашел применение в кластерах высокопроизводительного оборудования. [4] [5] Все модули в Hadoop разработаны с учетом фундаментального предположения, что сбои оборудования являются обычным явлением и должны автоматически обрабатываться платформой. [6]
Автор (ы) оригинала | Дуг Каттинг , Майк Кафарелла |
---|---|
Разработчики) | Фонд программного обеспечения Apache |
Первый выпуск | 1 апреля 2006 г . [1] |
Стабильный выпуск | |
Репозиторий | Репозиторий Hadoop |
Написано в | Ява |
Операционная система | Кроссплатформенность |
Тип | Распределенная файловая система |
Лицензия | Лицензия Apache 2.0 |
Веб-сайт | hadoop |
Ядро 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 , Cloudera Impala , Apache Flume , Apache Sqoop , Apache Oozie и Apache Storm . [13]
Компоненты Apache Hadoop MapReduce и HDFS были вдохновлены документами Google по MapReduce и файловой системе Google . [14]
Сама среда Hadoop в основном написана на языке программирования Java с некоторым собственным кодом на C и утилитами командной строки, написанными в виде сценариев оболочки . Хотя Java-код MapReduce является распространенным, с Hadoop Streaming можно использовать любой язык программирования для реализации карты и сокращения частей программы пользователя. [15] Другие проекты в экосистеме Hadoop предоставляют более богатые пользовательские интерфейсы.
История
По словам его соучредителей, Дуга Каттинга и Майка Кафареллы , генезис Hadoop был документ о файловой системе Google, опубликованный в октябре 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) [25] и распределенной файловой системы Hadoop (HDFS). Пакет Hadoop Common содержит файлы и сценарии Java Archive (JAR) , необходимые для запуска Hadoop.
Для эффективного планирования работы каждая Hadoop-совместимая файловая система должна обеспечивать информацию о местоположении, которая является именем стойки, в частности сетевого коммутатора, на котором находится рабочий узел. Приложения Hadoop могут использовать эту информацию для выполнения кода на узле, где находятся данные, и, если это не удается, на той же стойке / коммутаторе, чтобы уменьшить магистральный трафик. HDFS использует этот метод при репликации данных для избыточности данных на нескольких стойках. Такой подход снижает влияние отключения электроэнергии в стойке или отказа коммутатора; если произойдет какой-либо из этих аппаратных сбоев, данные останутся доступными. [26]
Небольшой кластер Hadoop включает один главный и несколько рабочих узлов. Главный узел состоит из трекера заданий, трекера задач, NameNode и DataNode. Подчиненный или рабочий узел действует как DataNode и TaskTracker, хотя могут быть рабочие узлы только для данных и только для вычислений. Обычно они используются только в нестандартных приложениях. [27]
Для Hadoop требуется Java Runtime Environment (JRE) 1.6 или выше. Стандартные сценарии запуска и завершения работы требуют настройки Secure Shell (SSH) между узлами в кластере. [28]
В более крупном кластере узлы HDFS управляются через выделенный сервер NameNode для размещения индекса файловой системы и вторичный NameNode, который может создавать моментальные снимки структур памяти namenode, тем самым предотвращая повреждение файловой системы и потерю данных. Точно так же автономный сервер JobTracker может управлять планированием заданий по узлам. Когда Hadoop MapReduce используется с альтернативной файловой системой, архитектура NameNode, вторичного NameNode и DataNode HDFS заменяется эквивалентами для конкретной файловой системы.
Файловые системы
Распределенная файловая система Hadoop
Распределенная файловая система Hadoop (HDFS) является распределенной, масштабируемой и портативной файловой системой написано на Java для платформы Hadoop. Некоторые считают его хранилищем данных из-за отсутствия совместимости с POSIX [29], но он предоставляет команды оболочки и методы интерфейса прикладного программирования Java (API) , аналогичные другим файловым системам. [30] Экземпляр Hadoop делится на HDFS и MapReduce. HDFS используется для хранения данных, а MapReduce - для обработки данных. HDFS имеет пять следующих сервисов:
- Имя узла
- Узел вторичного имени
- Трекер вакансий
- Узел данных
- Трекер задач
Первые три - это главные службы / демоны / узлы, а две нижние - подчиненные службы. Главные службы могут связываться друг с другом, и точно так же подчиненные службы могут связываться друг с другом. Узел имени является главным узлом, а узел данных - соответствующим ему ведомым узлом, которые могут взаимодействовать друг с другом.
Узел имени: HDFS состоит только из одного узла имени, который называется главным узлом. Главный узел может отслеживать файлы, управлять файловой системой и иметь метаданные всех хранимых в нем данных. В частности, узел имени содержит сведения о количестве блоков, расположении узла данных, в котором хранятся данные, где хранятся репликации, и другие подробности. Узел имени имеет прямой контакт с клиентом.
Узел данных: узел данных хранит данные в нем в виде блоков. Он также известен как подчиненный узел и хранит фактические данные в HDFS, который отвечает за чтение и запись клиента. Это демоны-рабы. Каждый узел данных отправляет сообщение Heartbeat узлу Name каждые 3 секунды и сообщает, что он активен. Таким образом, когда узел имени не получает контрольный сигнал от узла данных в течение 2 минут, он считает этот узел данных мертвым и запускает процесс репликации блока на каком-либо другом узле данных.
Узел вторичного имени: это только для того, чтобы заботиться о контрольных точках метаданных файловой системы, которые находятся в узле имени. Это также известно как узел контрольной точки. Это вспомогательный узел для узла имени. Узел вторичного имени указывает узлу имени создать и отправить файл fsimage и editlog, после чего сжатый файл fsimage создается узлом вторичного имени. [31]
Отслеживание заданий: средство отслеживания заданий получает от клиента запросы на выполнение Map Reduce. Трекер заданий обращается к узлу имени, чтобы узнать о местонахождении данных, которые будут использоваться при обработке. Узел имени отвечает метаданными необходимых данных обработки.
Трекер задач: это подчиненный узел для Трекера заданий, и он берет задачу из Трекера заданий. Он также получает код от Job Tracker. Трекер задач возьмет код и применит к файлу. Процесс применения этого кода к файлу известен как Mapper. [32]
Кластер Hadoop номинально имеет один именной узел плюс кластер узлов данных, хотя для узла именования доступны варианты избыточности из-за его критичности. Каждый узел данных обслуживает блоки данных по сети с использованием блочного протокола, специфичного для HDFS. Файловая система использует сокеты TCP / IP для связи. Клиенты используют удаленные вызовы процедур (RPC) для связи друг с другом.
HDFS хранит большие файлы (обычно в диапазоне от гигабайт до терабайт [33] ) на нескольких машинах. Он обеспечивает надежность за счет репликации данных на нескольких хостах и, следовательно, теоретически не требует избыточного массива независимых дисков (RAID) для хранения на хостах (но для увеличения производительности ввода-вывода (I / O) некоторые конфигурации RAID по-прежнему полезны). При значении репликации по умолчанию, 3, данные хранятся на трех узлах: два в одной стойке и один в другой стойке. Узлы данных могут взаимодействовать друг с другом, чтобы сбалансировать данные, перемещать копии и поддерживать репликацию данных на высоком уровне. HDFS не полностью совместима с POSIX, поскольку требования к файловой системе POSIX отличаются от целевых целей приложения Hadoop. Компромисс отсутствия полностью совместимой с POSIX файловой системы - это повышенная производительность для пропускной способности данных и поддержка операций, не относящихся к POSIX, таких как Append. [34]
В мае 2012 года в HDFS были добавлены возможности высокой доступности, [35] позволяя главному серверу метаданных, называемому NameNode, вручную переключаться на резервную копию. В рамках проекта также началась разработка автоматического переключения при отказе .
Файловая система HDFS включает в себя так называемый вторичный узел имен , вводящий в заблуждение термин, который некоторые могут неправильно интерпретировать как резервный узел имен, когда основной узел имен переходит в автономный режим. Фактически, вторичный namenode регулярно соединяется с первичным namenode и создает моментальные снимки информации каталога первичного namenode, которые затем система сохраняет в локальных или удаленных каталогах. Эти образы с контрольными точками можно использовать для перезапуска отказавшего первичного узла имен без необходимости воспроизводить весь журнал действий файловой системы, а затем для редактирования журнала для создания актуальной структуры каталогов. Поскольку namenode является единой точкой для хранения и управления метаданными, он может стать узким местом для поддержки огромного количества файлов, особенно большого количества небольших файлов. HDFS Federation, новое дополнение, нацелено на решение этой проблемы в определенной степени, позволяя обслуживать несколько пространств имен отдельными узлами имен. Более того, в HDFS есть некоторые проблемы, такие как проблемы с небольшими файлами, проблемы масштабируемости, единственная точка отказа (SPoF) и узкие места в огромных запросах метаданных. Одним из преимуществ использования HDFS является осведомленность о данных между системой отслеживания вакансий и системой отслеживания задач. Расписания отслеживания вакансий отображают или сокращают задания до средств отслеживания задач с учетом местоположения данных. Например: если узел A содержит данные (a, b, c), а узел X содержит данные (x, y, z), средство отслеживания заданий планирует узел A для выполнения сопоставления или сокращения задач на (a, b, c) и узле X будет запланировано выполнять отображение или сокращение задач на (x, y, z). Это уменьшает объем трафика, который проходит по сети, и предотвращает ненужную передачу данных. Когда Hadoop используется с другими файловыми системами, это преимущество не всегда доступно. Это может существенно повлиять на время выполнения заданий, что продемонстрировано на примере заданий с большим объемом данных. [36]
HDFS была разработана для в основном неизменяемых файлов и может не подходить для систем, требующих одновременных операций записи. [34]
HDFS может быть смонтирован непосредственно с виртуальной файловой системой Filesystem in Userspace (FUSE) в Linux и некоторых других системах Unix .
Доступ к файлам может быть обеспечен через собственный Java API, Thrift API (генерирует клиент на нескольких языках, например, C ++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C #, Cocoa , Smalltalk и OCaml ), интерфейс командной строки , то HDFS-интерфейс веб - приложения через HTTP или с помощью библиотек сети клиента третьих лиц. [37]
HDFS разработана для переносимости на различные аппаратные платформы и для совместимости с множеством базовых операционных систем. Конструкция HDFS вводит ограничения переносимости, которые приводят к некоторым узким местам производительности, поскольку реализация Java не может использовать функции, которые являются эксклюзивными для платформы, на которой работает HDFS. [38] Благодаря широкой интеграции в инфраструктуру корпоративного уровня, мониторинг производительности HDFS в масштабе становится все более важной проблемой. Мониторинг сквозной производительности требует отслеживания метрик от узлов данных, узлов имен и базовой операционной системы. [39] В настоящее время существует несколько платформ мониторинга для отслеживания производительности HDFS, включая Hortonworks , Cloudera и Datadog .
Другие файловые системы
Hadoop работает напрямую с любой распределенной файловой системой, которая может быть смонтирована базовой операционной системой, просто используя file://
URL-адрес; Однако за это приходится расплачиваться - потеря местоположения. Чтобы уменьшить сетевой трафик, Hadoop необходимо знать, какие серверы находятся ближе всего к данным - информацию, которую могут предоставить мосты файловой системы Hadoop.
В мае 2011 года список поддерживаемых файловых систем в комплекте с Apache Hadoop был:
- HDFS: собственная файловая система Hadoop с поддержкой стойки. [40] Он предназначен для масштабирования до десятков петабайт хранилища и работает поверх файловых систем основных операционных систем .
- 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 . [41] Исходный код был опубликован в октябре 2009 года. [42]
- В апреле 2010 года Parascale опубликовала исходный код для запуска Hadoop в файловой системе Parascale. [43]
- В апреле 2010 года Appistry выпустила драйвер файловой системы Hadoop для использования с собственным продуктом CloudIQ Storage. [44]
- В июне 2010 года HP обсудила драйвер файловой системы IBRIX Fusion с функцией определения местоположения . [45]
- В мае 2011 года MapR Technologies Inc. объявила о доступности альтернативной файловой системы для Hadoop, MapR FS , которая заменила файловую систему HDFS файловой системой чтения / записи с полным произвольным доступом.
JobTracker и TaskTracker: движок MapReduce
Поверх файловых систем находится механизм MapReduce Engine, который состоит из одного JobTracker , которому клиентские приложения отправляют задания MapReduce. JobTracker передает работу доступным узлам TaskTracker в кластере, стремясь максимально приблизить работу к данным. Благодаря файловой системе, поддерживающей стойку, JobTracker знает, какой узел содержит данные и какие другие машины находятся поблизости. Если работа не может быть размещена на фактическом узле, где находятся данные, приоритет отдается узлам в той же стойке. Это снижает сетевой трафик в основной магистральной сети. Если TaskTracker выходит из строя или истекает время ожидания, эта часть задания переносится. TaskTracker на каждом узле порождает отдельный процесс виртуальной машины Java (JVM), чтобы предотвратить сбой самого TaskTracker, если выполняющееся задание приведет к сбою его JVM. Контрольное сообщение отправляется из TaskTracker в JobTracker каждые несколько минут для проверки его статуса. Jetty предоставляет информацию о состоянии и информации Job Tracker и TaskTracker, и их можно просматривать в веб-браузере.
Известные ограничения этого подхода:
- Распределить работу по TaskTrackers очень просто. Каждый TaskTracker имеет ряд доступных слотов (например, «4 слота»). Каждая активная карта или задача уменьшения занимает один слот. Трекер заданий распределяет работу на трекер, ближайший к данным с доступным слотом. Не учитывается текущая системная загрузка выделенной машины и, следовательно, ее фактическая доступность.
- Если один TaskTracker работает очень медленно, он может задержать выполнение всего задания MapReduce - особенно ближе к концу, когда все может ждать самой медленной задачи. Однако при включенном спекулятивном выполнении одна задача может выполняться на нескольких подчиненных узлах.
Планирование
По умолчанию Hadoop использует планирование FIFO и, при необходимости, 5 приоритетов планирования для планирования заданий из рабочей очереди. [46] В версии 0.19 планировщик заданий был реорганизован из JobTracker, при этом добавлена возможность использования альтернативного планировщика (такого как Fair scheduler или Capacity scheduler , описанные ниже). [47]
Планировщик ярмарки
Планировщик ярмарки был разработан Facebook . [48] Цель честного планировщика - обеспечить быстрое время отклика для небольших заданий и обеспечение качества обслуживания (QoS) для производственных заданий. Планировщик ярмарки имеет три основных концепции. [49]
- Задания сгруппированы в пулы .
- Каждому пулу назначается гарантированная минимальная доля.
- Избыточная мощность распределяется между работами.
По умолчанию задания без категорий попадают в пул по умолчанию. В пулах необходимо указать минимальное количество слотов для карт, уменьшить количество слотов, а также ограничение на количество выполняемых заданий.
Планировщик емкости
Планировщик емкости был разработан Yahoo. Планировщик емкости поддерживает несколько функций, аналогичных функциям планировщика ярмарки. [50]
- Очередям выделяется часть общей емкости ресурсов.
- Свободные ресурсы выделяются очередям сверх их общей емкости.
- В очереди задание с высоким уровнем приоритета имеет доступ к ресурсам очереди.
Когда задание выполняется, приоритетного прерывания не происходит.
Разница между 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. [51]
Другие приложения
HDFS не ограничивается заданиями MapReduce. Его можно использовать для других приложений, многие из которых разрабатываются в Apache. В список входят база данных HBase , система машинного обучения Apache Mahout и хранилище данных Apache Hive . Теоретически Hadoop можно использовать для любой рабочей нагрузки, ориентированной на пакетную обработку, а не в режиме реального времени, с большим объемом данных и преимуществами параллельной обработки . Его также можно использовать для дополнения системы реального времени, такой как лямбда-архитектура , Apache Storm , Flink и Spark Streaming . [52]
Коммерческие приложения Hadoop включают: [53]
- Журнал или анализ посещаемости
- Маркетинговая аналитика
- Машинное обучение и интеллектуальный анализ данных
- Обработка изображений
- Обработка XML- сообщений
- Веб-сканирование
- Архивная работа на соответствие, в том числе реляционных и табличных данных
Известные варианты использования
19 февраля 2008 г. Yahoo! Inc. запустила то, что они назвали крупнейшим в мире производственным приложением Hadoop. Yahoo! Search Webmap - это приложение Hadoop, которое работает в кластере Linux с более чем 10 000 ядер и производит данные, которые использовались в каждом Yahoo! поисковый запрос в Интернете. [54] В Yahoo! существует несколько кластеров Hadoop. и никакие файловые системы HDFS или задания MapReduce не распределяются между несколькими центрами обработки данных. Каждый узел кластера Hadoop выполняет загрузку образа Linux, включая дистрибутив Hadoop. Известно, что работа, выполняемая кластерами, включает в себя расчеты индекса для Yahoo! поисковый движок. В июне 2009 года Yahoo! сделал исходный код своей версии Hadoop доступным сообществу разработчиков ПО с открытым исходным кодом. [55]
В 2010 году Facebook заявил, что у них самый большой кластер Hadoop в мире с 21 ПБ хранилища. [56] В июне 2012 года они объявили, что данные выросли до 100 ПБ [57], а позже в том же году объявили, что данные увеличиваются примерно на половину ПБ в день. [58]
По состоянию на 2013 год[Обновить], Принятие Hadoop стало повсеместным: более половины компаний из списка Fortune 50 использовали Hadoop. [59]
Хостинг Hadoop в облаке
Hadoop можно развернуть как в традиционном локальном центре обработки данных, так и в облаке . [60] Облако позволяет организациям развертывать Hadoop без необходимости приобретения оборудования или специальных знаний по настройке. [61]
Коммерческая поддержка
Ряд компаний предлагают коммерческое внедрение или поддержку Hadoop. [62]
Брендинг
Apache Software Foundation заявила, что только программное обеспечение, официально выпущенное проектом Apache Hadoop, может называться Apache Hadoop или дистрибутивами Apache Hadoop . [63] Именование продуктов и производных работ от других поставщиков, а также термин «совместимый» несколько противоречивы в сообществе разработчиков Hadoop. [64]
Статьи
Некоторые статьи повлияли на зарождение и развитие Hadoop и обработки больших данных. Вот некоторые из них:
- Джеффри Дин, Санджай Гемават (2004) MapReduce: Упрощенная обработка данных в больших кластерах , Google. Эта статья вдохновила Дуга Каттинга на разработку реализации инфраструктуры Map-Reduce с открытым исходным кодом. Он назвал его Hadoop в честь игрушечного слона его сына.
- Майкл Франклин, Алон Халеви, Дэвид Майер (2005) От баз данных к пространствам данных: новая абстракция для управления информацией . Авторы подчеркивают необходимость того, чтобы системы хранения принимали все форматы данных и предоставляли API-интерфейсы для доступа к данным, которые развиваются на основе понимания данных системой хранения.
- Фэй Чанг и др. (2006) Bigtable: распределенная система хранения структурированных данных , Google.
- Роберт Каллман и др. (2008) H-store: высокопроизводительная распределенная система обработки транзакций в основной памяти.
Смотрите также
- Apache Accumulo - безопасная Bigtable [65]
- Apache Cassandra , база данных, ориентированная на столбцы, которая поддерживает доступ из Hadoop
- Apache CouchDB , база данных, которая использует JSON для документов, JavaScript для запросов MapReduce и обычный HTTP для API.
- Apache HCatalog, уровень управления таблицами и хранилищем для Hadoop
- Большое количество данных
- Обработка данных с интенсивным использованием данных
- HPCC - кластер высокопроизводительных вычислений LexisNexis Risk Solutions
- Hypertable - альтернатива HBase
- Сектор / Сфера - Распределенное хранение и обработка с открытым исходным кодом
- Простая утилита Linux для управления ресурсами
Рекомендации
- ^ «Выпуски Hadoop» . apache.org . Фонд программного обеспечения Apache . Проверено 28 апреля 2019 .
- ^ Б с д е е г «Apache Hadoop» . Проверено 7 сентября 2019 .
- ^ Судья, Петр (22 октября 2012 г.). «Дуг Каттинг: большие данные - это не пузырь» . Silicon.co.uk . Проверено 11 марта 2018 .
- ^ Вуди, Алекс (12 мая 2014 г.). «Почему Hadoop на IBM Power» . datanami.com . Датанами . Проверено 11 марта 2018 .
- ^ Хемсот, Николь (15 октября 2014 г.). «Cray запускает Hadoop в воздушном пространстве HPC» . hpcwire.com . Проверено 11 марта 2018 .
- ^ «Добро пожаловать в Apache Hadoop!» . hadoop.apache.org . Проверено 25 августа +2016 .
- ^ «Что такое распределенная файловая система Hadoop (HDFS)?» . ibm.com . IBM . Проверено 12 апреля 2021 года .
- ^ Малак, Михаил (19 сентября 2014 г.). «Местоположение данных: HPC против Hadoop против Spark» . datascienceassn.org . Data Science Association . Проверено 30 октября 2014 года .
- ^ Ван, Яньдун; Голдстоун, Робин; Ю, Вэйкуань; Ван, Тэн (октябрь 2014 г.). «Характеристика и оптимизация резидентного MapReduce в системах HPC». 28-й Международный симпозиум по параллельной и распределенной обработке, 2014 г., IEEE . IEEE. С. 799–808. DOI : 10.1109 / IPDPS.2014.87 . ISBN 978-1-4799-3800-1. S2CID 11157612 .
- ^ «Ресурс (Apache Hadoop Main 2.5.1 API)» . apache.org . Фонд программного обеспечения Apache. 12 сентября 2014. Архивировано из оригинала 6 октября 2014 года . Проверено 30 сентября 2014 года .
- ^ Мурти, Арун (15 августа 2012 г.). «Apache Hadoop YARN - концепции и приложения» . hortonworks.com . Hortonworks . Проверено 30 сентября 2014 года .
- ^ «Continuity привлекает серию на 10 миллионов долларов за раунд, чтобы стимулировать разработку приложений для больших данных в экосистеме Hadoop» . finance.yahoo.com . Marketwired . 14 ноября 2012 . Проверено 30 октября 2014 года .
- ^ "Проекты, связанные с Hadoop" . Hadoop.apache.org . Проверено 17 октября 2013 года .
- ^ Наука о данных и аналитика больших данных: обнаружение, анализ, визуализация и представление данных . Джон Вили и сыновья. 19 декабря 2014. с. 300. ISBN 9781118876220. Проверено 29 января 2015 года .
- ^ «[nlpatumd] Приключения с Hadoop и Perl» . Mail-archive.com. 2 мая 2010 . Проверено 5 апреля 2013 года .
- ^ Режь, Майк; Кафарелла, Бен; Лорика, Дуг (31 марта 2016 г.). «Следующие 10 лет Apache Hadoop» . O'Reilly Media . Проверено 12 октября 2017 года .
- ^ Гемават, Санджай; Гобиофф, Ховард; Люн, Шун-Так. «Файловая система Google» .
- ^ Дин, Джеффри; Гемават, Санджай (2004). «MapReduce: упрощенная обработка данных в больших кластерах» .
- ^ Каттинг, Дуг (28 января 2006 г.). "запрос новых списков рассылки: hadoop" . issues.apache.org .
PMC Lucene проголосовала за разделение части Nutch в новый подпроект под названием Hadoop.
- ^ Вэнс, Эшли (17 марта 2009 г.). «Hadoop, бесплатное программное обеспечение, находит применение не только в поиске» . Нью-Йорк Таймс . Архивировано 30 августа 2011 года . Проверено 20 января 2010 года .
- ^ Каттинг, Дуг (30 марта 2006 г.). «[РЕЗУЛЬТАТ] ГОЛОСОВАНИЕ: добавить Оуэна О'Мэлли в качестве коммиттера Hadoop» . hadoop-common-dev (список рассылки).
- ^ «Индекс / dist / hadoop / core» . archive.apache.org . Проверено 11 декабря 2017 года .
- ^ «Кто мы» . hadoop.apache.org . Проверено 11 декабря 2017 года .
- ^ Бортакур, Дхруба (2006). «Распределенная файловая система Hadoop: архитектура и дизайн» (PDF) . Репозиторий кода Apache Hadoop .
- ^ Chouraria, Harsh (21 октября 2012 г.). «Краткое объяснение MR2 и YARN» . Cloudera.com . Архивировано из оригинального 22 октября 2013 года . Проверено 23 октября 2013 года .
- ^ «Руководство пользователя HDFS» . Hadoop.apache.org . Проверено 4 сентября 2014 года .
- ^ «Запуск Hadoop в системе Ubuntu Linux (многоузловой кластер)» .
- ^ «Запуск Hadoop в Ubuntu Linux (одноузловой кластер)» . Проверено 6 июня 2013 года .
- ^ Эванс, Крис (октябрь 2013 г.). «Хранение больших данных: основы хранения Hadoop» . computerweekly.com . Computer Weekly . Проверено 21 июня +2016 .
HDFS не является файловой системой в традиционном смысле и обычно не монтируется напрямую для просмотра пользователем.
- ^ деРус, Дирк. «Управление файлами с помощью команд файловой системы Hadoop» . dummies.com . Для чайников . Проверено 21 июня +2016 .
- ^ Бальрам. «Учебное пособие по Big Data Hadoop для начинающих» . www.gyansetu.in . Проверено 11 марта 2021 года .
- ^ «Архивная копия» . Архивировано из оригинального 23 октября 2019 года . Проверено 19 июня 2020 .CS1 maint: заархивированная копия как заголовок ( ссылка )
- ^ «Архитектура HDFS» . Проверено 1 сентября 2013 года .
- ^ а б Песач, Янив (2013). «Распределенное хранилище» (Distributed Storage: Concepts, Algorithms, and Implementations ed.). ПР 25423189М . Цитировать журнал требует
|journal=
( помощь ) - ^ «Версия 2.0 предусматривает ручное переключение при отказе, и они работают над автоматическим аварийным переключением» . Hadoop.apache.org . Проверено 30 июля 2013 года .
- ^ «Повышение производительности MapReduce за счет размещения данных в гетерогенных кластерах Hadoop» (PDF) . Eng.auburn.ed. Апрель 2010 г.
- ^ «Монтаж HDFS» . Дата обращения 5 августа 2016 .
- ^ Шафер, Джеффри; Рикснер, Скотт; Кокс, Алан. «Распределенная файловая система Hadoop: баланс переносимости и производительности» (PDF) . Университет Райса . Проверено 19 сентября 2016 года .
- ^ Музакитис, Эван (21 июля 2016 г.). «Как собирать показатели производительности Hadoop» . Проверено 24 октября 2016 года .
- ^ «Руководство пользователя HDFS - Информация о стойке» . Hadoop.apache.org . Проверено 17 октября 2013 года .
- ^ «Облачная аналитика: действительно ли нам нужно заново изобретать стек хранилищ?» (PDF) . IBM. Июнь 2009 г.
- ^ «HADOOP-6330: интеграция реализации IBM General Parallel File System интерфейса файловой системы Hadoop» . IBM. 23 октября 2009 г.
- ^ «HADOOP-6704: добавить поддержку файловой системы Parascale» . Parascale. 14 апреля 2010 г.
- ^ «HDFS с хранилищем CloudIQ» . Appistry, Inc. 6 июля 2010. Архивировано из оригинала 5 апреля 2014 года . Проверено 10 декабря 2013 года .
- ^ «Высокая доступность Hadoop» . HP. 9 июня 2010 г.
- ^ «Руководство по командам» . 17 августа 2011. Архивировано 17 августа 2011 года . Проверено 11 декабря 2017 года .CS1 maint: bot: исходный статус URL неизвестен ( ссылка )
- ^ «Реорганизуйте планировщик из JobTracker» . Hadoop Common . Фонд программного обеспечения Apache . Проверено 9 июня 2012 года .
- ^ Джонс, М. Тим (6 декабря 2011 г.). «Планирование в Hadoop» . ibm.com . IBM . Проверено 20 ноября 2013 года .
- ^ «Проектный документ Hadoop Fair Scheduler» (PDF) . apache.org . Проверено 12 октября 2017 года .
- ^ «Руководство по планировщику емкости» . Hadoop.apache.org . Проверено 31 декабря 2015 года .
- ^ «Как Apache Hadoop 3 повышает ценность Apache Hadoop 2» . hortonworks.com . 7 февраля 2018 . Проверено 11 июня 2018 .
- ^ Чинтапалли, Санкет; Дагит, Дерек; Эванс, Бобби; Фаривар, Реза; Грейвс, Томас; Холдербо, Марк; Лю, Чжо; Нусбаум, Кайл; Патил, Кишоркумар; Пэн, Боян Джерри; Поулски, Пол (май 2016 г.). «Тестирование механизмов потоковых вычислений: Storm, Flink и Spark Streaming». 2016 IEEE International Параллельная и распределенная обработка Symposium Мастерские (IPDPSW) . IEEE. С. 1789–1792. DOI : 10.1109 / IPDPSW.2016.138 . ISBN 978-1-5090-3682-0. S2CID 2180634 .
- ^ « « Как 30+ предприятий используют Hadoop »в СУБД2» . Dbms2.com. 10 октября 2009 . Проверено 17 октября 2013 года .
- ^ «Yahoo! запускает крупнейшее в мире приложение для производства Hadoop» . Yahoo . 19 февраля 2008. Архивировано из оригинала 7 марта 2016 года . Проверено 31 декабря 2015 года .
- ^ «Hadoop и распределенные вычисления в Yahoo!» . Yahoo !. 20 апреля 2011 . Проверено 17 октября 2013 года .
- ^ «HDFS: у Facebook самый большой в мире кластер Hadoop!» . Hadoopblog.blogspot.com. 9 мая 2010 . Проверено 23 мая 2012 года .
- ^ «Под капотом: надежность распределенной файловой системы Hadoop с Namenode и Avatarnode» . Facebook . Проверено 13 сентября 2012 года .
- ^ «Под капотом: более эффективное планирование заданий MapReduce с помощью Corona» . Facebook . Проверено 9 ноября 2012 года .
- ^ «Altior's AltraSTAR - Hadoop Storage Accelerator и Optimizer теперь сертифицированы для CDH4 (дистрибутив Cloudera, включая Apache Hadoop версии 4)» (пресс-релиз). Eatontown, NJ: Altior Inc. 18 декабря 2012 . Проверено 30 октября 2013 года .
- ^ «Hadoop - Microsoft Azure» . azure.microsoft.com . Проверено 11 декабря 2017 года .
- ^ «Hadoop» . Azure.microsoft.com . Проверено 22 июля 2014 года .
- ^ «Почему следует ускорить темпы инноваций Hadoop» . Gigaom.com. 25 апреля 2011 . Проверено 17 октября 2013 года .
- ^ «Определение Hadoop» . Wiki.apache.org. 30 марта 2013 . Проверено 17 октября 2013 года .
- ^ «Определение совместимости Hadoop: еще раз» . Mail-archives.apache.org. 10 мая 2011г . Проверено 17 октября 2013 года .
- ^ «Руководство пользователя Apache Accumulo: Безопасность» . apache.org . Фонд программного обеспечения Apache . Проверено 3 декабря 2014 .
Библиография
- Лам, Чак (28 июля 2010 г.). Hadoop в действии (1-е изд.). Публикации Мэннинга . п. 325. ISBN 978-1-935-18219-1.
- Веннер, Джейсон (22 июня 2009 г.). Pro Hadoop (1-е изд.). Апресс . п. 440. ISBN 978-1-430-21942-2. Архивировано из оригинала 5 декабря 2010 года . Проверено 3 июля 2009 года .
- Белый, Том (16 июня 2009 г.). Hadoop: Полное руководство (1-е изд.). O'Reilly Media . п. 524. ISBN 978-0-596-52197-4.
- Вохра, Дипак (октябрь 2016 г.). Практическая экосистема Hadoop: полное руководство по структурам и инструментам, связанным с Hadoop (1-е изд.). Апресс . п. 429. ISBN. 978-1-4842-2199-0.
- Викторски, Томаш (январь 2019). Системы с интенсивным использованием данных . Чам, Швейцария: Springer. ISBN 978-3-030-04603-3.
Внешние ссылки
- Официальный веб-сайт