В HBase таблицы разбиты на регионы и обслуживаются серверами регионов. Регионы разделены по столбцам по вертикали на «Магазины». Магазины сохраняются в виде файлов в HDFS. Ниже показана архитектура HBase.
Примечание . Термин «хранилище» используется для обозначения регионов для описания структуры хранилища.
HBase состоит из трех основных компонентов: клиентской библиотеки, главного сервера и серверов региона. Региональные серверы могут быть добавлены или удалены в соответствии с требованием.
MasterServer
Главный сервер —
-
Назначает регионы на серверы регионов и использует Apache ZooKeeper для этой задачи.
-
Управляет балансировкой нагрузки регионов на серверах регионов. Он выгружает занятые серверы и перемещает регионы на менее занятые серверы.
-
Поддерживает состояние кластера путем согласования распределения нагрузки.
-
Отвечает за изменения схемы и другие операции с метаданными, такие как создание таблиц и семейств столбцов.
Назначает регионы на серверы регионов и использует Apache ZooKeeper для этой задачи.
Управляет балансировкой нагрузки регионов на серверах регионов. Он выгружает занятые серверы и перемещает регионы на менее занятые серверы.
Поддерживает состояние кластера путем согласования распределения нагрузки.
Отвечает за изменения схемы и другие операции с метаданными, такие как создание таблиц и семейств столбцов.
районы
Регионы — это не что иное, как таблицы, которые разбиты и распределены по серверам регионов.
Региональный сервер
Региональные серверы имеют регионы, которые —
- Общайтесь с клиентом и выполняйте операции, связанные с данными.
- Обрабатывать запросы на чтение и запись для всех регионов, находящихся под ним.
- Определите размер региона, следуя пороговым значениям размера региона.
Когда мы более подробно рассмотрим сервер регионов, он содержит регионы и хранилища, как показано ниже:
Магазин содержит память и память HFiles. Memstore — это как кеш-память. Все, что введено в HBase, изначально хранится здесь. Позже данные передаются и сохраняются в Hfiles в виде блоков, а хранилище метаданных сбрасывается.
Zookeeper — это проект с открытым исходным кодом, который предоставляет такие услуги, как поддержка информации о конфигурации, присвоение имен, обеспечение распределенной синхронизации и т. Д.
Zookeeper имеет эфемерные узлы, представляющие разные региональные серверы. Главные серверы используют эти узлы для обнаружения доступных серверов.
В дополнение к доступности, узлы также используются для отслеживания сбоев сервера или сетевых разделов.
Клиенты общаются с региональными серверами через zookeeper.
В псевдо и автономных режимах HBase сам позаботится о зоопарке.