Hadoop Architecture

Master Slave

В основе архитектуры Hadoop лежит идея master-slave.

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

NameNode - работает как мастер в Hadoop. Namenode хранит метаданные, то есть количество блоков, реплик и других деталей. Метаданные хранятся в памяти мастера. NameNode назначает задачи на slave node.

NameNode должен быть развернут на надежном оборудовании, поскольку он является центральным элементом HDFS.

DataNode - работает в качестве slave в Hadoop. В HDFS DataNode отвечает за хранение фактических данных. А также DataNode выполняет операции чтения и записи согласно запросу клиентов.

DataNode также могут быть развернуты на обычном оборудовании.

High availability

ResourceManager HA реализован через архитектуру Active/Standby; В любой момент времени один из RM активен, а один или несколько RM находятся в режиме ожидания; Триггер для перехода в активный режим поступает либо от администратора (yarn rmadmin), либо от встроенного контроллера отработки отказов, когда включено автоматическое переключение;

В случае автоматического подхода ActiveStandbyElector на основе Zookeeper решает, какой RM должен быть активным. Когда Активный RM отключается или перестает отвечать на запросы, другой RM автоматически выбирается Активным.

Typical topology

  • DataNodes, NodeManagers and RegionServers, как правило, развернуты совместно, чтобы следовать стратегии Data Locality

  • Рекомендуется иметь как минимум 3 копии данных, расположенных в отдельных стойках (separate racks)

  • Рекомендуется добавлять узлы данных в соответствии с коэффициентом репликации в отдельные стойки.

Last updated