Apache Tajo - Архитектура
На следующем рисунке изображена архитектура Apache Tajo.

В следующей таблице подробно описан каждый из компонентов.
S.No. | Компонент и описание |
---|---|
1 | Client Client отправляет операторы SQL в Tajo Master для получения результата. |
2 | Master Мастер - главный демон. Он отвечает за планирование запросов и является координатором для работников. |
3 | Catalog server Поддерживает описания таблиц и указателей. Он встроен в демон Master. Сервер каталога использует Apache Derby в качестве уровня хранения и подключается через клиент JDBC. |
4 | Worker Главный узел назначает задачу рабочим узлам. TajoWorker обрабатывает данные. По мере увеличения количества TajoWorkers производительность обработки также линейно увеличивается. |
5 | Query Master Мастер Tajo назначает запрос Мастеру запросов. Мастер запросов отвечает за управление распределенным планом выполнения. Он запускает TaskRunner и планирует задачи для TaskRunner. Основная роль мастера запросов - отслеживать выполняемые задачи и сообщать о них главному узлу. |
6 | Node Managers Управляет ресурсом рабочего узла. Он принимает решение о распределении запросов к узлу. |
7 | TaskRunner Действует как локальный механизм выполнения запросов. Он используется для запуска и мониторинга процесса запроса. TaskRunner обрабатывает одну задачу за раз. Он имеет следующие три основных атрибута -
|
8 | Query Executor Он используется для выполнения запроса. |
9 | Storage service Подключает базовое хранилище данных к Tajo. |
Рабочий процесс
Tajo использует распределенную файловую систему Hadoop (HDFS) в качестве уровня хранения и имеет собственный механизм выполнения запросов вместо платформы MapReduce. Кластер Tajo состоит из одного главного узла и нескольких рабочих узлов в узлах кластера.
Мастер в основном отвечает за планирование запросов и координатор для работников. Мастер делит запрос на небольшие задачи и назначает исполнителей. У каждого рабочего есть локальный механизм запросов, который выполняет направленный ациклический граф физических операторов.
Кроме того, Tajo может управлять распределенным потоком данных более гибко, чем MapReduce, и поддерживает методы индексирования.
Веб-интерфейс Tajo имеет следующие возможности:
- Возможность узнать, как планируются отправленные запросы
- Возможность узнать, как запросы распределяются по узлам
- Возможность проверить статус кластера и узлов