SW Engineering/Hadoop

임시 데이터 처리를 위한 매퍼 환경 설정 및 셔플 환경 설정

SungWookKang 2020. 1. 8. 01:24
반응형

임시 데이터 처리를 위한 매퍼 환경 설정 및 셔플 환경 설정

 

·       Version : Hadoop 3.0.0-cdh6.3.2

 

매퍼(Mapper) 처리중에 발생하는 임시 데이터의 처리를 위한 환경 설정 변수에 대해서 알아본다.

·       mapreduce.task.io.sort.mb  : 맵의 출력 데이터를 저장할 링버퍼의 메모리 크기. 맵의 처리 결과를 설정한 메모리 크기만큼 저장하고 있다가, io.sort.spill.percent 이상에 도달하면 임시 파일로 출력

ü  split/sort 작업을 위한 예약 메모리

ü  매퍼가 소팅에 사용하는 버퍼 사이즈를 설정

ü  디스크에 쓰는 횟수가 줄어듬

·       mapreduce.map.sort.spill.percent : 맵의 출력데이터를 저장하는 버퍼(mapreduce.task.io.sort.mb)가 설정한 비율에 도달하면 로컬 디스크에 임시 파일 출력

·       mapreduce.task.io.sort.factor : 하나의 정렬된 출력 파일로 병합하기 위한 임시 파일의 개수

·       mapreduce.cluster.local.dir : 임시 파일이 저장되는 위치

 

셔플 단계의 설정은 맵에서 전달 받은 임시데이터를 복사하는 메모리와 데이터를 복사하는 스레드 개수 등을 설정 할 수 있다.

·       mapreduce.reduce.shuffle.parallelcopies : 셔플 단계에서 맵의 결과를 리듀서로 전달하는 스레드의 개수

·       mapreduce.reduce.memory.total.bytes : 셔플 단계에서 전달된 맵의 데이터를 복사하는 메모리 버퍼의 크기. (기본값 :1024MB)

·       mapreduce.reduce.shuffle.input.buffer.percent : 파일로 저장하기 위한 메모리 임계치 비율.

ü  mapreduce.reduce.memory.total.bytes *mapreduce.reduce.shuffle.input.buffer.percent 의 사이즈를 초과하면 파일로 저장.

ü  기본값은 0.7

·       mapreduce.reduce.shuffle.memory.limit.percent :  메모리 버퍼의 크기에 비해 파일의 비율이 이 설정을 넘어서면 바로 디스크에 기록.

ü  mapreduce.reduce.memory.total.bytes * mapreduce.reduce.shuffle.memory.limit.percent 크기를 넘어서면 파일로 저장.

ü  기본값은 0.25

 

Input 파일 용량에 따라 매퍼, 리듀서 개수 설정할 수 있다.

·       mapreduce.input.fileinputformat.split.maxsize :

ü  매퍼에 입력가능한 최대 사이즈

ü  처리하려고 하는 총 size/mapreduce.input.fileinputformat.split.maxsize = 매퍼 개수

·       mapreduce.input.fileinputformat.split.minsize : 매퍼에 입력가능한 최소 사이즈

 

입력 값에 상관없이 매퍼, 리듀서 개수 설정할 수 있다. 하둡 문서에 따르면 매퍼의 개수는 하둡이 계산한 매퍼의 개수 이하로는 설정할 수 없다고 한다. 예를들면 하둡이 매퍼의 개수를 500개로 계산했는데, 사용자가 매퍼의 개수를 100으로 설정하면 500개로 처리된다.

·       mapreduce.job.maps : 매퍼의 개수 설정

·       mapreduce.job.reduces : 리듀서 개수 설정

 

 

 

[참고자료]

·       https://cwiki.apache.org/confluence/display/HADOOP2/HowManyMapsAndReduces

·       https://wikidocs.net/23575

 

 

 

2020-01-07 / Sungwook Kang / http://sungwookkang.com

 

Hadoop, MapReduce, 매퍼 환경 설정, 셔플 환경 설정, 매퍼, 리듀서 스레드 개수 설정.

반응형