Добавить Автора
источник:Облачное сообщество Hang Seng LIGHT
Концепция Hadoop и ее развитие
Hadoop впервые произошел от Nutch. Целью разработки Nutch является создание крупномасштабной полномасштабной поисковой системы в Интернете, включая сканирование веб-страниц, индексирование, запросы и другие функции, но по мере увеличения количества просканированных веб-страниц возникают серьезные проблемы с масштабируемостью — как решить миллиарды и индексация веб-страниц.
Две статьи, опубликованные Google в 2003 и 2004 годах, предложили реальное решение этой проблемы.
- Распределенная файловая система (GFS), которую можно использовать для хранения больших веб-страниц.
- Фреймворк распределенных вычислений MAPREDUCE можно использовать для решения проблемы расчета индексации массивных веб-страниц.
Разработчики Nutch завершили соответствующие реализации HDFS и MAPREDUCE с открытым исходным кодом и отделились от Nutch, чтобы стать независимым проектом HADOOP.К январю 2008 года HADOOP стал ведущим проектом Apache (в том же году была создана компания cloudera), вступив в его бурное развитие.
- В широком смысле Hadoop относится к экосистеме больших данных, включающей множество других программ.
- В узком смысле Hadoop относится только к программному обеспечению Hadoop.
Знакомство с историческими версиями 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 (включая различные исторические версии):
- Бесплатный hortonWorks с открытым исходным кодом
Официальный сайт:hortonworks.com/
Hortonworks в основном является вице-президентом Yahoo, ведущим разработку Hadoop, возглавляя более 20 основных членов для создания Hortonworks, программного обеспечения основного продукта HDP (ambari), HDF является бесплатным и открытым исходным кодом и предоставляет полный набор веб-интерфейса управления для нам управлять нами через веб-интерфейс Статус кластера программного обеспечения веб-интерфейса управления HDF URL (ambari.apache.org/)
-Версия ПО ClouderaManager
Официальный сайт:www.cloudera.com/
Cloudera в основном является компанией, занимающейся большими данными в Соединенных Штатах, в версии Apache с открытым исходным кодом для Hadoop, с помощью различных исправлений в собственной компании, для обеспечения стабильной работы между версиями, каждая версия программного обеспечения в экосистеме больших данных предоставляет соответствующую версию для решения Существуют различные проблемы, такие как трудности с обновлением версии, совместимость версий и т. д.
Состав модуля Hadoop
- Hadoop HDFS: высоконадежная распределенная файловая система с высокой пропускной способностью.
- Hadoop MapReduce: распределенная инфраструктура параллельных вычислений в автономном режиме.
- Hadoop YARN: платформа для планирования заданий и управления ресурсами кластера.
- Hadoop Common: инструментальный модуль, поддерживающий другие модули.
Архитектурная модель Hadoop
Модель архитектуры одного узла NameNode и ResourceManager
Основные модули файловой системы:
- NameNode: главный узел в кластере, который в основном используется для управления различными данными в кластере.
- вторичныйNameNode: в основном используется для вспомогательного управления метаданными в Hadoop.
- DataNode: подчиненный узел в кластере, который в основном используется для хранения различных данных в кластере.
Базовый модуль вычислений данных:
- ResourceManager: получает задачи вычислительных запросов пользователя и отвечает за распределение ресурсов кластера.
- NodeManager: в основном используется для получения задач, назначенных applicationMaster.
- applicationMaster: менеджер ресурсов запускает appMaster для каждой вычислительной задачи, а appMatser в основном отвечает за приложение ресурсов и распределение задач.
- Модель архитектуры высокой доступности NameNode и ResourceManager
Основные модули файловой системы:
- 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, хорошо справились с базовым уровнем анализа больших данных и будут продолжать развиваться в направлении более легкого и быстрого использования в будущем.
Расширенный анализ данных движется в направлении погружения в базу данных. Сложность на продвинутом уровне анализа данных заключается не в самом анализе, а в количестве и качестве самих данных. Ожидайте появления новых инноваций в этой области.