MapReduce 작업 및 자원 할당 개념 정리 [2] – CDH 설정 적용

YARN -> 구성 -> 리소스 관리

 

ApplicationMaster 메모리 (yarn.app.mapreduce.am.resource.mb) = 3GB

ApplicationMaster Java 최대 힙 크기 = 2.4GB (위 값의 7~80%)

 

Map 작업 메모리 (mapreduce.map.memory.mb) = 3GB

Map 작업 최대 힙 크기 (mapreduce.map.java.opts.max.heap) = 2.4GB (위 값의 80%)

Map 작업 CPU 가상 코어 (mapreduce.map.cpu.vcores) = 1

 

Reduce 작업 메모리 (mapreduce.reduce.memory.mb) = 3GB

Reduce 작업 최대 힙 크기 (mapreduce.reduce.java.opts.max.heap) = 2.4GB (위 값의 80%)

Reduce 작업 CPU 가상 코어 (mapreduce.reduce.cpu.vcores) = 1

 

클라이언트 Java 힙 크기 = 2.4GB (map, reduce 작업 메모리의 80%)

 

컨테이너 메모리 (yarn.nodemanager.resource.memory-mb) = 6GB (각 노드에서 MR에 할당할 전체 메모리 크기)

컨테이너 가상 CPU 코어 (yarn.nodemanager.resource.cpu-vcores) = 2 (각 노드에서 MR에 할당할 CPU core )

 

 

Map, Reduce 메모리를 많이 키우거나, 줄일 경우 아래 변수도 변경 필요

최소 컨테이너 메모리 (yarn.schedule.minimum-allocation-mb) = 1GB

컨테이너 메모리 증가 (yarn.schedule.increment-allocation-mb) = 512MB

최대 컨테이너 메모리 (yarn.schedule.maximum-allocation-mb) = 3GB

 

상기와 같이 설정될 경우 아래의 공식이 성립됨

Map (or Reduce) 작업에 3GB 메모리, 1 vcpu 할당

노드에 MR 에 할당된 전체 메모리 크기가 6GB 이므로 노드당 2개 작업 실행 가능

total 실행 갯수는 2 * 노드 수 (실제 MR 실행 수는 좀 더 낮을 수 있음, MR task 실행 시 기본 ApplicationMaster 가 구동됨으로…)

 

서진우

슈퍼컴퓨팅 전문 기업 클루닉스/ 상무(기술이사)/ 정보시스템감리사/ 시스존 블로그 운영자

You may also like...