[hadoop] YARN, 맵리듀서 메모리 설정
Yarn의 설정은 다음과 같다.
<YARN의 메모리 설정>
yarn.nodemanager.resource.memory-mb
- 노드의 메모리 크기 설정
yarn.nodemanager.resource.cpu-vcores
- 노드의 코어 개수 설정
<컨테이너의 메모리 설정>
yarn.scheduler.minimum-allocation-mb
yarn.scheduler.maximum-allocation-mb
- RM이 컨테이너당 할당하는 최소, 최대 메모리
yarn.scheduler.minimum-allocation-vcores
yarn.scheduler.maximum-allocation-vcores
- RM이 컨테이너당 할당하는 최소, 최대 코어
<MR의 메모리 설정>
매퍼 설정은 다음과 같다
a. mapreduce.map.memory.mb
b. mapreduce.map.cpu.vcores
c. mapreduce.map.java.opts
리듀서 설정은 다음과 같다.
d. mapreduce.reduce.memory.mb
e. mapreduce.reduce.cpu.vcores
f. mapreduce.reduce.java.opts
- vcores 설정은 1이 기본. 맵, 리듀서에서 멀티스레딩을 이용할 경우가 적음
- 리듀서의 메모리 설정은 맵의 2~4배로 설정하는 것이 일반적이다.
- java.opts 는 메모리 설정의 0.8배로 설정하는 것이 일반적이다.
g. yarn.app.mapreduce.am.resource.mb
- 맵리듀서를 위한 애플리케이션 마스터의 메모리 설정