Apache Tajo - Arquitetura
A ilustração a seguir descreve a arquitetura do Apache Tajo.
A tabela a seguir descreve cada um dos componentes em detalhes.
S.No. | Descrição do componente |
---|---|
1 | Client Client envia as instruções SQL ao Tajo Master para obter o resultado. |
2 | Master Master é o daemon principal. É responsável pelo planejamento da consulta e coordenador dos trabalhadores. |
3 | Catalog server Mantém as descrições da tabela e do índice. Ele está embutido no daemon Master. O servidor de catálogos usa Apache Derby como camada de armazenamento e se conecta por meio do cliente JDBC. |
4 | Worker O nó mestre atribui tarefas aos nós de trabalho. TajoWorker processa dados. Conforme o número de TajoWorkers aumenta, a capacidade de processamento também aumenta linearmente. |
5 | Query Master O mestre tajo atribui a consulta ao mestre de consultas. O Query Master é responsável por controlar um plano de execução distribuído. Ele inicia o TaskRunner e agenda tarefas para o TaskRunner. A principal função do mestre de consultas é monitorar as tarefas em execução e relatá-las ao nó mestre. |
6 | Node Managers Gerencia o recurso do nó de trabalho. Ele decide sobre a alocação de solicitações ao nó. |
7 | TaskRunner Atua como um mecanismo de execução de consulta local. É usado para executar e monitorar o processo de consulta. O TaskRunner processa uma tarefa por vez. Tem os seguintes três atributos principais -
|
8 | Query Executor É usado para executar uma consulta. |
9 | Storage service Conecta o armazenamento de dados subjacente ao Tajo. |
Fluxo de Trabalho
Tajo usa o Hadoop Distributed File System (HDFS) como a camada de armazenamento e tem seu próprio mecanismo de execução de consulta em vez da estrutura MapReduce. Um cluster Tajo consiste em um nó mestre e vários trabalhadores em nós de cluster.
O mestre é o principal responsável pelo planejamento da consulta e o coordenador dos trabalhadores. O mestre divide uma consulta em pequenas tarefas e atribui aos trabalhadores. Cada trabalhador possui um mecanismo de consulta local que executa um gráfico acíclico direcionado de operadores físicos.
Além disso, o Tajo pode controlar o fluxo de dados distribuídos de forma mais flexível do que o MapReduce e oferece suporte a técnicas de indexação.
A interface baseada na web do Tajo tem os seguintes recursos -
- Opção para descobrir como as consultas enviadas são planejadas
- Opção para descobrir como as consultas são distribuídas entre os nós
- Opção para verificar o status do cluster e dos nós