Apache Tajo - 架构


下图描述了 Apache Tajo 的架构。

建筑学

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

编号 组件及描述
1

客户

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

2

掌握

Master 是主要守护进程。它负责查询规划,并且是工作人员的协调员。

3

目录服务器

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

4

工人

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

5

查询大师

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

6

节点管理器

管理worker节点的资源。它决定将请求分配给节点。

7

任务运行器

充当本地查询执行引擎。它用于运行和监视查询过程。TaskRunner 一次处理一个任务。

它具有以下三个主要属性 -

  • 逻辑计划- 创建任务的执行块。
  • 片段 - 输入路径、偏移范围和模式。
  • 获取 URI
8

查询执行器

它用于执行查询。

9

仓储服务

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

工作流程

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

master主要负责查询规划,worker的协调者。master将查询分成小任务并分配给worker。每个工作线程都有一个本地查询引擎,用于执行物理运算符的有向无环图。

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

Tajo 基于网络的界面具有以下功能 -

  • 用于查找如何计划提交的查询的选项
  • 用于查找查询如何跨节点分布的选项
  • 检查集群和节点状态的选项