워커(Worker) 설정

워커 힙 메모리 크기

conf/tajo-env.sh 파일 내용 중에 TAJO_WORKER_HEAPSIZE 환경 변수 값에 타조 워커가 사용할 힙 메모리 크기를 지정합니다.

힙 메모리 크기를 변경하려면, conf/tajo-env.sh 파일에 TAJO_WORKER_HEAPSIZE 변수 값을 적절한 값으로 지정합니다:

TAJO_WORKER_HEAPSIZE=8000

기본 값은 1000 (1GB) 입니다.

임시 데이터 디렉토리

out-of-core 알고리즘 에 따라 타조 워커는 임시 데이터를 로컬 파일 시스템에 저장합니다. 임시 데이터 저장소로 하나 이상의 데이터 디렉토리를 지정할 수 있습니다.

tajo-site.xml

<property>
  <name>tajo.worker.tmpdir.locations</name>
  <value>/disk1/tmpdir,/disk2/tmpdir,/disk3/tmpdir</value>
</property>

각 워커가 수행할 수 있는 최대 병렬 작업 수

타조는 가용 자원과 처리 중인 질의의 작업 부하에 따라 병렬로 실행할 작업 수를 결정합니다. 이 값을 명시하려면, [워커 자원(Worker Resources)] (#ResourceConfiguration) 절을 참조합니다.

워커 자원

하나의 워커는 여러 작업들을 동시에 수행할 수 있습니다. 타조는, 사용자가 각 워커가 사용할 총 메모리 크기와 디스크 갯수를 지정할 수 있습니다. 가용한 자원에 따라 동시에 수행할 수 있는 작업의 수가 결정됩니다.

각 워커의 리소스 량을 지정하려면, tajo-site.xml 파일에 다음 값을을 설정합니다:

속성 명 설명 값 타입 기본 값
tajo.worker.resource.cpu-cores CPU 코어 수 integer 1
tajo.worker.resource.memory-mb 메모리 크기 (MB) integer 1024
tajo.worker.resource.disks 디스크 수 integer 1

Note

현재 쿼리 마스터는 하위 버전과의 호환성 때문에 작업 당 512MB 메모리와 0.5 디스크를 요청하도록 되어있습니다.

Note

tajo-site.xml 파일에 tajo.worker.resource.dfs-dir-aware 값이 true 로 설정된 경우, 워커는 자동으로 해당 노드의 HDFS의 데이터 노드로부터 데이터 디렉토리들을 파악해서 사용합니다. 즉, tajo.worker.resource.disks 에 설정값은 무시됩니다.

각 워커에 5120 MB의 메모리, 4개의 디스크와 24 코어를 할당하려면, 다음의 예시 처럼 설정합니다:

tajo-site.xml

<property>
  <name>tajo.worker.resource.tajo.worker.resource.cpu-cores</name>
  <value>24</value>
</property>

 <property>
  <name>tajo.worker.resource.memory-mb</name>
  <value>5120</value>
</property>

<property>
  <name>tajo.worker.resource.tajo.worker.resource.disks</name>
  <value>4.0</value>
</property>

전용 모드

타조는 타조 클러스터를 구성하는 각 워커가 CPU, 메모리, 디스크를 포함하는 모든 가용한 자원을 최대한 사용하도록 하는 전용 모드를 지원합니다. 이 모드에 대한 설정을 위해서는, tajo-site.xml 파일에 다음과 같은 내용을 추가합니다:

<property>
  <name>tajo.worker.resource.dedicated</name>
  <value>true</value>
</property>

추가로, 타조 워커가 사용할 메모리 량을 다음과 같이 제한할 수도 있습니다:

속성 명 설명 값 타입 기본 값
tajo.worker.resource.dedicated-memory-ratio 전체 메모리중 가용 메모리 비율 float 0.8