Анализ фреймворка больших данных Hadoop

Большие данные

Добавить Автора

источник:Облачное сообщество Hang Seng LIGHT

Концепция Hadoop и ее развитие

Hadoop впервые произошел от Nutch. Целью разработки Nutch является создание крупномасштабной полномасштабной поисковой системы в Интернете, включая сканирование веб-страниц, индексирование, запросы и другие функции, но по мере увеличения количества просканированных веб-страниц возникают серьезные проблемы с масштабируемостью — как решить миллиарды и индексация веб-страниц.

Две статьи, опубликованные Google в 2003 и 2004 годах, предложили реальное решение этой проблемы.

  • Распределенная файловая система (GFS), которую можно использовать для хранения больших веб-страниц.
  • Фреймворк распределенных вычислений MAPREDUCE можно использовать для решения проблемы расчета индексации массивных веб-страниц.

Разработчики Nutch завершили соответствующие реализации HDFS и MAPREDUCE с открытым исходным кодом и отделились от Nutch, чтобы стать независимым проектом HADOOP.К январю 2008 года HADOOP стал ведущим проектом Apache (в том же году была создана компания cloudera), вступив в его бурное развитие.

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

1.jpeg

Знакомство с историческими версиями Hadoop

Версия серии 0.x: самая ранняя версия hadoop с открытым исходным кодом, которая широко используется за рубежом, поскольку отечественные большие данные в то время еще не были разработаны, версии 1.x и 2.x развивались на этой основе.

Серия версий 1.x: версия с открытым исходным кодом второго поколения среди версий Hadoop, в основном для исправления некоторых ошибок в версии 0.x и т. д., является поколением с самым коротким временем.

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

Серия версий 3.x: представлены некоторые важные функции и оптимизации, в том числе код стирания HDFS, поддержка нескольких Namenode (более двух), оптимизация MR Native Task, изоляция памяти и дискового ввода-вывода на основе cgroup YARN и т. д., а также минимальные требования для JDK Требуется версия JDK1.8. Время выпуска относительно позднее, и в настоящее время он мало используется, но в будущем он станет основным.

Знакомство с прическами Hadoop трех основных компаний.

- Бесплатная версия Apache с открытым исходным кодом

Официальный сайт:hadoop.apache.org/

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

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

Адрес загрузки всего программного обеспечения Apache (включая различные исторические версии):

archive.apache.org/dist/

- Бесплатный hortonWorks с открытым исходным кодом

Официальный сайт:hortonworks.com/

Hortonworks в основном является вице-президентом Yahoo, ведущим разработку Hadoop, возглавляя более 20 основных членов для создания Hortonworks, программного обеспечения основного продукта HDP (ambari), HDF является бесплатным и открытым исходным кодом и предоставляет полный набор веб-интерфейса управления для нам управлять нами через веб-интерфейс Статус кластера программного обеспечения веб-интерфейса управления HDF URL (ambari.apache.org/)

-Версия ПО ClouderaManager

Официальный сайт:www.cloudera.com/

Cloudera в основном является компанией, занимающейся большими данными в Соединенных Штатах, в версии Apache с открытым исходным кодом для Hadoop, с помощью различных исправлений в собственной компании, для обеспечения стабильной работы между версиями, каждая версия программного обеспечения в экосистеме больших данных предоставляет соответствующую версию для решения Существуют различные проблемы, такие как трудности с обновлением версии, совместимость версий и т. д.

Состав модуля Hadoop

  1. Hadoop HDFS: высоконадежная распределенная файловая система с высокой пропускной способностью.
  2. Hadoop MapReduce: распределенная инфраструктура параллельных вычислений в автономном режиме.
  3. Hadoop YARN: платформа для планирования заданий и управления ресурсами кластера.
  4. Hadoop Common: инструментальный модуль, поддерживающий другие модули.

Архитектурная модель Hadoop

Модель архитектуры одного узла NameNode и ResourceManager

f7e3084245fe5646171b14b607d48c3d.png

Основные модули файловой системы:

  • NameNode: главный узел в кластере, который в основном используется для управления различными данными в кластере.
  • вторичныйNameNode: в основном используется для вспомогательного управления метаданными в Hadoop.
  • DataNode: подчиненный узел в кластере, который в основном используется для хранения различных данных в кластере.

Базовый модуль вычислений данных:

  • ResourceManager: получает задачи вычислительных запросов пользователя и отвечает за распределение ресурсов кластера.
  • NodeManager: в основном используется для получения задач, назначенных applicationMaster.
  • applicationMaster: менеджер ресурсов запускает appMaster для каждой вычислительной задачи, а appMatser в основном отвечает за приложение ресурсов и распределение задач.
  • Модель архитектуры высокой доступности NameNode и ResourceManager

2239b4a3398b4a6e2bccf6ce46192dde.png

Основные модули файловой системы:

  • NameNode: основной узел в кластере, который в основном используется для управления различными данными в кластере.Как правило, для обеспечения высокой доступности высокой доступности используются два узла.
  • JournalNode: процесс управления метаданными, обычно нечетное число.
  • DataNode: подчиненный узел, используемый для хранения данных

Базовый модуль вычислений данных:

  • ResourceManager: основной узел платформы Yarn, в основном используемый для получения различных задач, через два встроенных в высокую доступность.
  • NodeManager: подчиненный узел платформы Yarn, в основном используемый для обработки задач, назначенных ResourceManager.

Текущее состояние Hadoop

С 2015 года Hadoop выявил множество проблем и привлек к себе внимание. Впоследствии аналитики в таких компаниях, как Gartner, IDG, пользователи Hadoop, а также люди в кругах Hadoop и больших данных все чаще отражали различные проблемы.

Основные причины следующие:

  • Стек Hadoop слишком сложен, состоит из множества компонентов, сложно интегрируется и слишком дорог в использовании.
  • Hadoop недостаточно быстро внедряет инновации (или начинает со слишком низкого уровня), и ему не хватает единой концепции и контроля, что делает интеграцию между его многочисленными компонентами очень сложной.
  • Под влиянием облачных технологий хранилище объектов, особенно похожее на S3, обеспечивает более дешевое, простое в использовании и более масштабируемое хранилище, чем HDFS, используя основу Hadoop HDFS.
  • Ожидания от Hadoop слишком высоки, Hadoop процветает за счет дешевого хранилища и пакетной обработки, и люди ожидают, что Hadoop решит все проблемы больших данных, а несоответствие ожиданиям приводит к низкому удовлетворению
  • Талант стоит дорого, а таланта мало

Суммировать

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

Распределенные базы данных, особенно базы данных MPP, хорошо справились с базовым уровнем анализа больших данных и будут продолжать развиваться в направлении более легкого и быстрого использования в будущем.

Расширенный анализ данных движется в направлении погружения в базу данных. Сложность на продвинутом уровне анализа данных заключается не в самом анализе, а в количестве и качестве самих данных. Ожидайте появления новых инноваций в этой области.