Hadoop Ecosystem

  • Storage layer via HDFS

  • Batch processing engine map reduce.

    В настоящее время он в значительной степени устарел и заменен Spark.

  • Resource and cluster management layer via Yarn

HDFS является основной системой хранения Hadoop. HDFS хранит очень большие файлы. Основной принцып - хранение меньшего количества больших файлов, вместо огромного количества маленьких файлов.

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

Hadoop MapReduce - это уровень обработки данных Hadoop. Он обрабатывает большие структурированные и неструктурированные данные, хранящиеся в HDFS. MapReduce также обрабатывает огромное количество данных параллельно. Это делается путем разделения работы (представленной работы) на набор независимых задач (подзадача). В Hadoop MapReduce работает, разбивая обработку на этапы: Map и Reduce.

Hadoop YARN обеспечивает управление ресурсами. Таким образом, он отвечает за управление и мониторинг рабочих нагрузок, реализацию мер безопасности. YARN позволяет использовать несколько механизмов обработки данных, таких как потоковая передача в реальном времени, пакетная обработка и т. Д.

Zookeeper используется для конфигурации нод кластера. Zookeeper в Hadoop - это централизованный сервис. Он поддерживает информацию о конфигурации, наименования и обеспечивает распределенную синхронизацию. Zookeeper работает быстро при рабочих нагрузках, где чтение данных происходит чаще, чем запись. Идеальное соотношение чтения / записи составляет 10: 1.

Apache Hive - это система хранения данных (data warehouse system) с открытым исходным кодом, используемая для анализа больших наборов данных, хранящихся в файлах Hadoop. Он обрабатывает структурированные и полуструктурированные данные в Hadoop. Hive также поддерживает анализ больших наборов данных, хранящихся в HDFS, а также Hive поддерживает файловую систему Amazon S3. Hive использует язык HiveQL (HQL), который похож на SQL. HiveQL автоматически переводит SQL-подобные запросы в задания MapReduce (и не только). Это языковая платформа высокого уровня, разработанная для выполнения запросов к огромным наборам данных, которые хранятся в Hadoop HDFS.

Apache HBase - это база данных NoSQL, которая работает поверх Hadoop. Это база данных, которая хранит структурированные данные в таблицах, которые могут иметь миллиарды строк и миллионы столбцов. HBase также обеспечивает доступ в режиме реального времени для чтения или записи данных в HDFS.

Components of HBase:

  • HBase Master – Это не является частью фактического хранения данных. Но он выполняет администрирование (интерфейс для создания, обновления и удаления таблиц.).

  • Region Server – Это рабочий узел. Он обрабатывает запросы на чтение, запись, обновление и удаление от клиентов. Процесс Region server также выполняется на каждом узле кластера Hadoop.

HCatalog Это уровень управления таблицами и хранилищами поверх Apache Hadoop. HCatalog является основным компонентом Hive. Следовательно, он позволяет пользователю хранить свои данные в любом формате и структуре. Он также поддерживает различные компоненты Hadoop для простого чтения и записи данных из кластера.

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

Apache Thrift - это framework, позволяющий создавать масштабируемые cross-language сервисы. Thrift также используется RPC communication. Apache Hadoop выполняет много вызовов RPC, поэтому существует возможность использования Thrift для повышения производительности.

Drill используется для крупномасштабной обработки данных. Задача - масштабировать до нескольких тысяч узлов и запрашивать петабайты данных. Это также low latency distributed query engine для large-scale наборов данных.

Mahout используется для создания масштабируемого алгоритма машинного обучения. После того, как мы сохраним данные в HDFS, mahout предоставляет инструменты для обработки данных для автоматического поиска значимых паттернов в этих наборах больших данных.

Sqoop в основном используется для импорта и экспорта данных. Таким образом, он импортирует данные из внешних источников в связанные компоненты Hadoop, такие как HDFS, HBase или Hive. Также экспортирует данные из Hadoop в другие внешние источники. Sqoop работает с реляционными базами данных, такими как Teradata, Netezza, Oracle, MySQL.

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

Ambari - Это платформа для управления, мониторинга и защиты кластера Apache Hadoop.

web компонент общается с сервером по REST

Setup admin password:

  • Install something like putty to be able to SSH into HDP Sandbox

  • Open Putty

  • Set hostname 127.0.0.1

  • Set port 2222 (YES not to 2122)

  • Connect, credentials root/Hadoop

  • You will be prompted to change root password

  • Then type ambari-admin-password-reset

  • Type ambari-agent restart

Hue - is a Web applications that enables you to easily interact with an Hadoop cluster.

Hue applications let you browse HDFS, Jobs, run Hive, Pig and Cloudera Impala queries, manage the Hive Metastore, HBase, Sqoop, ZooKeeper, MapReduce jobs, and create and schedule worklows with Oozie.

  • Browser-based UI tool designed for easy interaction with Hadoop cluster and its components and services

  • Similar to Ambari

  • Ambari is starting to move into Hue space with many people designing Views that perform similar functionality to Hue

  • Hue is not a cluster management tool as much as it is a gateway for easily browsing and interacting with cluster utilities and tools

Hue Notebooks – similar to Zeppelin or Jupyter allow you to interact with basic Hadoop as well as applications running on top of Hadoop like Spark, Pig, Hive, Solr

Oozie Это система планировщика рабочих процессов для управления заданиями Apache Hadoop. Он объединяет несколько заданий последовательно в одну логическую единицу работы. Следовательно, платформа Oozie полностью интегрирована со стеком Apache Hadoop, YARN в качестве центра архитектуры. Он также поддерживает задания Hadoop для Apache MapReduce, Pig, Hive и Sqoop. Oozie является масштабируемой и очень гибкой. Можно легко запускать, останавливать, приостанавливать и повторно запускать задания. Следовательно, Oozie позволяет очень легко повторно запустить неудавшиеся рабочие процессы. Также возможно пропустить определенный отказавший узел.

Есть два основных типа job для Oozie:

  • Oozie workflow – предназначен для хранения и запуска рабочих процессов, состоящих из заданий Hadoop, например MapReduce, Pig, Hive.

  • Oozie coordinator - запускает задания рабочего процесса на основе заранее определенных расписаний и доступности данных.

Last updated