Apache Tajo - Arquitectura
La siguiente ilustración muestra la arquitectura de Apache Tajo.
La siguiente tabla describe cada uno de los componentes en detalle.
S.No. | Descripción de Componente |
---|---|
1 | Client Client envía las sentencias SQL al Tajo Master para obtener el resultado. |
2 | Master Master es el demonio principal. Es responsable de la planificación de consultas y es el coordinador de los trabajadores. |
3 | Catalog server Mantiene las descripciones de la tabla y del índice. Está incrustado en el demonio maestro. El servidor de catálogo utiliza Apache Derby como capa de almacenamiento y se conecta a través del cliente JDBC. |
4 | Worker El nodo maestro asigna tareas a los nodos trabajadores. TajoWorker procesa datos. A medida que aumenta el número de TajoWorkers, la capacidad de procesamiento también aumenta linealmente. |
5 | Query Master Tajo master asigna la consulta al Query Master. El Query Master es responsable de controlar un plan de ejecución distribuido. Inicia TaskRunner y programa tareas en TaskRunner. La función principal del Query Master es supervisar las tareas en ejecución e informarlas al nodo Master. |
6 | Node Managers Gestiona el recurso del nodo trabajador. Decide sobre la asignación de solicitudes al nodo. |
7 | TaskRunner Actúa como un motor de ejecución de consultas local. Se utiliza para ejecutar y supervisar el proceso de consulta. TaskRunner procesa una tarea a la vez. Tiene los siguientes tres atributos principales:
|
8 | Query Executor Se utiliza para ejecutar una consulta. |
9 | Storage service Conecta el almacenamiento de datos subyacente a Tajo. |
Flujo de trabajo
Tajo utiliza el sistema de archivos distribuido Hadoop (HDFS) como capa de almacenamiento y tiene su propio motor de ejecución de consultas en lugar del marco MapReduce. Un grupo de Tajo consta de un nodo principal y varios trabajadores en los nodos del grupo.
El maestro es el principal responsable de la planificación de consultas y el coordinador de trabajadores. El maestro divide una consulta en pequeñas tareas y las asigna a los trabajadores. Cada trabajador tiene un motor de consulta local que ejecuta un gráfico acíclico dirigido de operadores físicos.
Además, Tajo puede controlar el flujo de datos distribuidos de forma más flexible que el de MapReduce y admite técnicas de indexación.
La interfaz basada en web de Tajo tiene las siguientes capacidades:
- Opción para averiguar cómo se planifican las consultas enviadas
- Opción para encontrar cómo se distribuyen las consultas entre los nodos
- Opción para verificar el estado del clúster y los nodos