Apache Tajo 简明教程

Apache Tajo - Architecture

下图描绘了 Apache Tajo 的架构。

architecture

下表详细描述了每个组件。

S.No.

Component & Description

1

Client Client 提交 SQL 语句到 Tajo Master 以获取结果。

2

Master Main 是主守护进程。它负责查询规划,并且是工作者的协调器。

3

Catalog server 维护表和索引描述。它嵌入在 Master 守护进程中。编目服务器使用 Apache Derby 作为存储层,并通过 JDBC 客户端进行连接。

4

Worker Master 节点将任务分配给工作器节点。TajoWorker 处理数据。随着 TajoWorkers 数量的增加,处理能力也会线性增加。

5

Query Master Tajo master 将查询分配给 Query Master。Query Master 负责控制分布式执行计划。它启动 TaskRunner 并将任务计划为 TaskRunner。Query Master 的主要作用是监视正在运行的任务并将其报告给 Master 节点。

6

Node Managers 管理工作器节点的资源。它决定将请求分配给该节点。

7

TaskRunner 充当本地查询执行引擎。它用于运行和监视查询过程。TaskRunner 一次处理一个任务。它具有以下三个主要属性 - 逻辑计划 - 创建该任务的执行块。段 - 输入路径、偏移量范围和模式。获取 URI

8

Query Executor 它用于执行查询。

9

Storage service 将底层数据存储连接到 Tajo。

Workflow

Tajo 使用 Hadoop 分布式文件系统 (HDFS) 作为存储层,并拥有自己的查询执行引擎,而不是 MapReduce 框架。Tajo 集群包含一个主节点和跨群集节点的多个工作器。

主服务器主要负责查询规划和工作者的协调器。主服务器将查询细分为小任务并分配给工作者。每个工作者都有一个本地查询引擎,该引擎执行有向无环物理运算符图。

此外,Tajo 可以控制分布式数据流比 MapReduce 更灵活,并支持索引技术。

Tajo 的基于 Web 的界面具有以下功能 −

  1. 查找如何规划已提交查询的选项

  2. 在节点间查找查询分布情况的选项

  3. 检查集群和节点状态的选项