Apache Tajo - 架构
下图描述了 Apache Tajo 的架构。
下表详细描述了每个组件。
S.No. | 组件及描述 |
---|---|
1 | Client Client将SQL语句提交给Tajo Master以获取结果。 |
2 | Master Master 是主要守护进程。 它负责查询规划,并且是工作人员的协调员。 |
3 | Catalog server 维护表和索引描述。 它嵌入在主守护进程中。 目录服务器使用 Apache Derby 作为存储层并通过 JDBC 客户端进行连接。 |
4 | Worker 主节点将任务分配给工作节点。 TajoWorker 处理数据。 随着TajoWorkers数量的增加,处理能力也线性增加。 |
5 | Query Master Tajo master 将查询分配给 Query Master。 查询主机负责控制分布式执行计划。 它启动 TaskRunner 并将任务安排到 TaskRunner。 Query Master的主要作用是监控正在运行的任务并将其报告给Master节点。 |
6 | Node Managers 管理工作节点的资源。 它决定将请求分配给节点。 |
7 | TaskRunner 充当本地查询执行引擎。 它用于运行和监视查询过程。 TaskRunner 一次处理一个任务。 它有以下三个主要属性 −
|
8 | Query Executor 它用于执行查询。 |
9 | Storage service 将底层数据存储连接到Tajo。 |
工作流程
Tajo使用Hadoop分布式文件系统(HDFS)作为存储层,并拥有自己的查询执行引擎而不是MapReduce框架。 一个Tajo集群由一个master节点和跨集群节点的多个worker组成。
master主要负责查询规划,worker的协调者。 master将查询分成小任务并分配给worker。 每个工作线程都有一个本地查询引擎,用于执行物理运算符的有向无环图。
此外,Tajo可以比MapReduce更灵活地控制分布式数据流,并支持索引技术。
Tajo 基于 Web 的界面具有以下功能 −
- 用于了解如何计划提交的查询的选项
- 用于查找查询如何跨节点分布的选项
- 检查集群和节点状态的选项