반응형

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

 

·       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, 매퍼 환경 설정, 셔플 환경 설정, 매퍼, 리듀서 스레드 개수 설정.

반응형

+ Recent posts