Apache Tajo-아키텍처

다음 그림은 Apache Tajo의 아키텍처를 보여줍니다.

다음 표에서는 각 구성 요소에 대해 자세히 설명합니다.

S. 아니. 구성 요소 및 설명
1

Client

Client 결과를 얻기 위해 SQL 문을 Tajo Master에 제출합니다.

2

Master

마스터는 기본 데몬입니다. 쿼리 계획을 담당하고 작업자를위한 조정자입니다.

Catalog server

테이블 및 인덱스 설명을 유지합니다. 마스터 데몬에 포함됩니다. 카탈로그 서버는 Apache Derby를 스토리지 계층으로 사용하고 JDBC 클라이언트를 통해 연결합니다.

4

Worker

마스터 노드는 작업자 노드에 작업을 할당합니다. TajoWorker는 데이터를 처리합니다. TajoWorker의 수가 증가함에 따라 처리 용량도 선형 적으로 증가합니다.

5

Query Master

Tajo 마스터는 쿼리 마스터에 쿼리를 할당합니다. 쿼리 마스터는 분산 실행 계획을 제어합니다. TaskRunner를 시작하고 TaskRunner에 작업을 예약합니다. 쿼리 마스터의 주요 역할은 실행중인 작업을 모니터링하고이를 마스터 노드에보고하는 것입니다.

6

Node Managers

작업자 노드의 리소스를 관리합니다. 노드에 대한 요청 할당을 결정합니다.

7

TaskRunner

로컬 쿼리 실행 엔진으로 작동합니다. 쿼리 프로세스를 실행하고 모니터링하는 데 사용됩니다. TaskRunner는 한 번에 하나의 작업을 처리합니다.

다음과 같은 세 가지 주요 속성이 있습니다.

  • 논리적 계획-작업을 생성 한 실행 블록.
  • 단편-입력 경로, 오프셋 범위 및 스키마.
  • URI를 가져옵니다.
8

Query Executor

쿼리를 실행하는 데 사용됩니다.

9

Storage service

기본 데이터 저장소를 Tajo에 연결합니다.

워크 플로우

Tajo는 HDFS (Hadoop Distributed File System)를 스토리지 계층으로 사용하며 MapReduce 프레임 워크 대신 자체 쿼리 실행 엔진을 가지고 있습니다. Tajo 클러스터는 하나의 마스터 노드와 클러스터 노드의 여러 작업자로 구성됩니다.

마스터는 주로 쿼리 계획 및 작업자의 코디네이터를 담당합니다. 마스터는 쿼리를 작은 작업으로 나누고 작업자에게 할당합니다. 각 작업자에는 물리 연산자의 방향성 비순환 그래프를 실행하는 로컬 쿼리 엔진이 있습니다.

또한 Tajo는 MapReduce보다 더 유연하게 분산 데이터 흐름을 제어 할 수 있으며 인덱싱 기술을 지원합니다.

Tajo의 웹 기반 인터페이스에는 다음과 같은 기능이 있습니다.

  • 제출 된 쿼리를 계획하는 방법을 찾는 옵션
  • 쿼리가 노드에 분산되는 방법을 찾는 옵션
  • 클러스터 및 노드의 상태를 확인하는 옵션