SlideShare a Scribd company logo
1 of 15
Download to read offline
맵 리듀스 성능향상 기법
발표자 이윤수
소속 한국교통대학교 컴퓨터공학과
발표일 2014년 4월 17일(목)
과목명 교통 빅데이터 처리론
담당교수 송석일 교수님
목차
1. 셔플 튜닝
2. 콤바이너 클래스
3. 압축
4. 블록사이즈 조정
5. JVM 재사용
6. 투기적 잡 실행
교통 빅데이터 처리 세미나 22014-04-17
YARN 프로그래밍( 2014. 4. 3 세미나 미해결 질의 )
2014-04-17 교통 빅데이터 처리 세미나 3
 YARN API 사용
 예제
◼ hadoop-common / hadoop-yarn-project / hadoop-yarn / hadoop-yarn-
applications / hadoop-yarn-applications-distributedshell
◼ https://github.com/hortonworks/simple-yarn-app
 http://hortonworks.com/get-started/yarn/
◼ MR2
◼ Hoya
 Weave
◼ Yarn Programming Tool Kit
셔플
 매퍼의 출력 데이터를 정렬하여 리듀서의 입력
데이터로 전달하는 것
 맵 태스크와 리듀스 태스크 사이의 데이터 전달
과정
 내부적으로 복잡한 단계로 구성
 셔플설정에 따라 잡의 성능에 지대한 영향을 줄
수 있음
2014-04-17 교통 빅데이터 처리 세미나 4
2014-04-17 교통 빅데이터 처리 세미나 5
1.스플릿 생성
입력 스플릿
입력 스플릿
입력 스플릿
맵1
맵2
맵3
2. 맵 3. 스필 4. 병합
리듀스1
리듀스2
5. 복사 6. 정렬 7. 리듀스
메모리 버퍼 파티션 맵 출력 데이터 메모리 버퍼,
파일
파일
잡의 입력 데이터는 논리적인 단위인
입력 스플릿으로 분리된 후,
스플릿별로 하나의 맵 태스크가 실행
셔플 튜닝
 버퍼가 커지면 로컬에 저장
될 출력데이터가 줄어든다.
◼ is.sort.mb
 기본값 100MB
 300MB이상 설정시 JVM설정
필요
 버퍼가 임계치에 다다르면
로컬디스크로 스필한다.
◼ is.sort.spill.percent
 기본값 80%
교통 빅데이터 처리 세미나 6
3. 스필
메모리 버퍼 파티션
2. 맵
맵1
맵2
맵3
2014-04-17
교통 빅데이터 처리 세미나 7
4. 병합 5. 복사
파티션 맵 출력 데이터
메모리 버퍼,
파일
 4.병합할 라운드 개수 증가 시
에 병합개수가 줄어듬
◼ io.sort.factor
 4.출력 파일에 접근하는 스레드
개수 설정
◼ tasktracker.http.threads
 5.맵태스크 출력데이터 복사 스
레드 개수 설정
◼ Mapred.reduce.parallel.copies
 5.복사된 출력데이터가 저장되
는 리듀스용 태스크트래커의 메
모리 버퍼 사이즈
◼ Mapred.job.shuffle.input.buffe
r.percent
 기본값 힙메모리의 70%
2014-04-17
셔플 튜닝 (계속)
 5. 버퍼가 파일로 저장되는 사용 임계치
◼ mapred.job.shuffle.merge.percent
 기본값 66%
 5. 버퍼가 파일로 저장되는 처리해야할 파일 개
수 도달 한계
◼ Mapred.inmem.merge.threshold
 기본값 1000
2014-04-17 교통 빅데이터 처리 세미나 8
셔플 튜닝
 정렬된 출력물을 리듀스 함
수의 병합 라운드 설정
◼ io.sort.fact
◼ ex)
 20개의 맵 출력 데이터
 io.sort.fact = 10
 각 라운드는 파일 10개당 하나
의 병합 파일을 만듬
 최종적으로 2개의 파일 생성
2014-04-17 교통 빅데이터 처리 세미나 9
리듀스1
리듀스2
6. 정렬 7. 리듀스
파일
콤바이너 클래스
 매퍼의 출력 데이터의 크기를 줄이는 기능
◼ job.setCombinerClass(***Reducer.class);
◼ 파라미터로는 반드시 리듀서 클래스로 설정
2014-04-17 교통 빅데이터 처리 세미나 10
<Read, 1>
<a , (1,1)>
<book, (1,1)>
<write, (1)>
<Read, 1>
<a, 1>
<book, 1>
<write, 1>
<a, 1>
<book, 1>
콤바이너 적용 전 콤바이너 적용 후
압축
 맵 태스크의 출력 데이터를 압축하여 전송
 파일 IO횟수와 네트워크 전송량이 감소하는 효
과를 얻을 수 있음
 하둡은 Gzip, Snappy, Bzip 등의 압축 포맷 지
원
 mapred.compress.output
2014-04-17 교통 빅데이터 처리 세미나 11
DFS 블록 사이즈 수정
 더 많은 수의 블록으로 분리되면 그만큼 많은 맵
태스크가 수행
2014-04-17 교통 빅데이터 처리 세미나 12
입력 파일 블록 사이즈 맵 태스크 수
100GB
32MB (100 * 1024) / 32 = 3200
64MB (100 * 1024) / 64 = 1600
128MB (100 * 1024) / 128 = 800
JVM 재사용
 태스크 트래커는 맵 태스크와 리듀스 태스크를
실행할 때 각각 별도의 JVM을 실행한다.
 JVM 재사용 예
◼ 매퍼나 리듀서의 초기화 시간이 오래걸리는 경우
◼ 짧은 시간 안에 많은 매퍼를 실행해야 하는 경우
 mapred.job.reuse.jvm.num.tasks
2014-04-17 교통 빅데이터 처리 세미나 13
투기적 잡 실행
 일부 태스크의 작업이 지연되는 경우 다른 데이
터노드에서 동일한 태스크를 병렬로 실행
 권장하는 방법은 아님
◼ 작업 지연의 원인을 해결하는 것이 우선
2014-04-17 교통 빅데이터 처리 세미나 14
END
 Email
◼ Yunsou.lee@gmail.com
 참조
◼ 시작할게요 하둡프로그래밍 _ 정재화
◼ http://hadoop.apache.org/docs/r2.3.0/hadoop-
yarn/hadoop-yarn-site/YARN.html
◼ http://hortonworks.com/get-started/yarn
2014-04-17 교통 빅데이터 처리 세미나 15

More Related Content

What's hot

[강릉원주대 대기환경과학과] 고급기상통계학 자료의 특성
[강릉원주대 대기환경과학과] 고급기상통계학 자료의 특성[강릉원주대 대기환경과학과] 고급기상통계학 자료의 특성
[강릉원주대 대기환경과학과] 고급기상통계학 자료의 특성Lee Sang-Ho
 
윤석준 2015 cuda_contest
윤석준 2015 cuda_contest윤석준 2015 cuda_contest
윤석준 2015 cuda_contestSeok-joon Yun
 
6. Application - NiFi
6. Application - NiFi6. Application - NiFi
6. Application - NiFimerry7
 
지리정보체계(GIS) - [1] GIS 데이터 유형, 구조 알기
지리정보체계(GIS) - [1] GIS 데이터 유형, 구조 알기지리정보체계(GIS) - [1] GIS 데이터 유형, 구조 알기
지리정보체계(GIS) - [1] GIS 데이터 유형, 구조 알기Byeong-Hyeok Yu
 
2. Application - Sqoop Import
2. Application - Sqoop Import2. Application - Sqoop Import
2. Application - Sqoop Importmerry7
 
종 분포 모형 활용방안
종 분포 모형 활용방안종 분포 모형 활용방안
종 분포 모형 활용방안Sanghyuk Lee
 
[FOSS4G] uDig Desktop GIS
[FOSS4G] uDig Desktop GIS[FOSS4G] uDig Desktop GIS
[FOSS4G] uDig Desktop GISMinPa Lee
 
2011-07-02 데이터 탐색
2011-07-02 데이터 탐색2011-07-02 데이터 탐색
2011-07-02 데이터 탐색Team POPONG
 
지리정보체계(GIS) - [2] 좌표계 이해하기
지리정보체계(GIS) - [2] 좌표계 이해하기지리정보체계(GIS) - [2] 좌표계 이해하기
지리정보체계(GIS) - [2] 좌표계 이해하기Byeong-Hyeok Yu
 
Java 기반의 오픈 소스 GIS를 지원하는 국내 공간 DBMS 드라이버의 개발
Java  기반의 오픈 소스 GIS를 지원하는 국내 공간 DBMS 드라이버의 개발Java  기반의 오픈 소스 GIS를 지원하는 국내 공간 DBMS 드라이버의 개발
Java 기반의 오픈 소스 GIS를 지원하는 국내 공간 DBMS 드라이버의 개발HaNJiN Lee
 
7. Application - Hive Bucket
7. Application - Hive Bucket7. Application - Hive Bucket
7. Application - Hive Bucketmerry7
 
[FOSS4G KOREA 2014] Introduce uDig
[FOSS4G KOREA 2014] Introduce uDig[FOSS4G KOREA 2014] Introduce uDig
[FOSS4G KOREA 2014] Introduce uDig기웅 김
 
공간복사 및 붙여넣기와 복간복사기 시스템
공간복사 및 붙여넣기와 복간복사기 시스템공간복사 및 붙여넣기와 복간복사기 시스템
공간복사 및 붙여넣기와 복간복사기 시스템Kamu1324
 
Python qgis advanced
Python qgis advancedPython qgis advanced
Python qgis advancedJiyoon Kim
 

What's hot (14)

[강릉원주대 대기환경과학과] 고급기상통계학 자료의 특성
[강릉원주대 대기환경과학과] 고급기상통계학 자료의 특성[강릉원주대 대기환경과학과] 고급기상통계학 자료의 특성
[강릉원주대 대기환경과학과] 고급기상통계학 자료의 특성
 
윤석준 2015 cuda_contest
윤석준 2015 cuda_contest윤석준 2015 cuda_contest
윤석준 2015 cuda_contest
 
6. Application - NiFi
6. Application - NiFi6. Application - NiFi
6. Application - NiFi
 
지리정보체계(GIS) - [1] GIS 데이터 유형, 구조 알기
지리정보체계(GIS) - [1] GIS 데이터 유형, 구조 알기지리정보체계(GIS) - [1] GIS 데이터 유형, 구조 알기
지리정보체계(GIS) - [1] GIS 데이터 유형, 구조 알기
 
2. Application - Sqoop Import
2. Application - Sqoop Import2. Application - Sqoop Import
2. Application - Sqoop Import
 
종 분포 모형 활용방안
종 분포 모형 활용방안종 분포 모형 활용방안
종 분포 모형 활용방안
 
[FOSS4G] uDig Desktop GIS
[FOSS4G] uDig Desktop GIS[FOSS4G] uDig Desktop GIS
[FOSS4G] uDig Desktop GIS
 
2011-07-02 데이터 탐색
2011-07-02 데이터 탐색2011-07-02 데이터 탐색
2011-07-02 데이터 탐색
 
지리정보체계(GIS) - [2] 좌표계 이해하기
지리정보체계(GIS) - [2] 좌표계 이해하기지리정보체계(GIS) - [2] 좌표계 이해하기
지리정보체계(GIS) - [2] 좌표계 이해하기
 
Java 기반의 오픈 소스 GIS를 지원하는 국내 공간 DBMS 드라이버의 개발
Java  기반의 오픈 소스 GIS를 지원하는 국내 공간 DBMS 드라이버의 개발Java  기반의 오픈 소스 GIS를 지원하는 국내 공간 DBMS 드라이버의 개발
Java 기반의 오픈 소스 GIS를 지원하는 국내 공간 DBMS 드라이버의 개발
 
7. Application - Hive Bucket
7. Application - Hive Bucket7. Application - Hive Bucket
7. Application - Hive Bucket
 
[FOSS4G KOREA 2014] Introduce uDig
[FOSS4G KOREA 2014] Introduce uDig[FOSS4G KOREA 2014] Introduce uDig
[FOSS4G KOREA 2014] Introduce uDig
 
공간복사 및 붙여넣기와 복간복사기 시스템
공간복사 및 붙여넣기와 복간복사기 시스템공간복사 및 붙여넣기와 복간복사기 시스템
공간복사 및 붙여넣기와 복간복사기 시스템
 
Python qgis advanced
Python qgis advancedPython qgis advanced
Python qgis advanced
 

Similar to 하둡-맵리듀스 튜닝 방법

하둡-맵리듀스
하둡-맵리듀스하둡-맵리듀스
하둡-맵리듀스Yunsu Lee
 
KCSE 2015 Tutorial 빅데이터 분석 기술의 소프트웨어 공학 분야 활용 (...
KCSE 2015 Tutorial 빅데이터 분석 기술의  소프트웨어 공학 분야 활용 (...KCSE 2015 Tutorial 빅데이터 분석 기술의  소프트웨어 공학 분야 활용 (...
KCSE 2015 Tutorial 빅데이터 분석 기술의 소프트웨어 공학 분야 활용 (...Chanjin Park
 
Multithread pattern 소개
Multithread pattern 소개Multithread pattern 소개
Multithread pattern 소개Sunghyouk Bae
 
권기훈_개인포트폴리오
권기훈_개인포트폴리오권기훈_개인포트폴리오
권기훈_개인포트폴리오Kihoon4
 
[232] 수퍼컴퓨팅과 데이터 어낼리틱스
[232] 수퍼컴퓨팅과 데이터 어낼리틱스[232] 수퍼컴퓨팅과 데이터 어낼리틱스
[232] 수퍼컴퓨팅과 데이터 어낼리틱스NAVER D2
 
Mapreduce tuning
Mapreduce tuningMapreduce tuning
Mapreduce tuningGruter
 
[OpenInfra Days Korea 2018] (Track 4) - Grafana를 이용한 OpenStack 클라우드 성능 모니터링
[OpenInfra Days Korea 2018] (Track 4) - Grafana를 이용한 OpenStack 클라우드 성능 모니터링[OpenInfra Days Korea 2018] (Track 4) - Grafana를 이용한 OpenStack 클라우드 성능 모니터링
[OpenInfra Days Korea 2018] (Track 4) - Grafana를 이용한 OpenStack 클라우드 성능 모니터링OpenStack Korea Community
 
weather-data-processing-using-python
weather-data-processing-using-pythonweather-data-processing-using-python
weather-data-processing-using-pythonmarc_kth
 
시스템종합설계_R&D_최종발표자료.pptx
시스템종합설계_R&D_최종발표자료.pptx시스템종합설계_R&D_최종발표자료.pptx
시스템종합설계_R&D_최종발표자료.pptxssuserfb6a2f
 
제 17회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [Catch, Traffic!] : 지하철 혼잡도 및 키워드 분석 데이터 파이프라인 구축
제 17회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [Catch, Traffic!] : 지하철 혼잡도 및 키워드 분석 데이터 파이프라인 구축제 17회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [Catch, Traffic!] : 지하철 혼잡도 및 키워드 분석 데이터 파이프라인 구축
제 17회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [Catch, Traffic!] : 지하철 혼잡도 및 키워드 분석 데이터 파이프라인 구축BOAZ Bigdata
 
DataWorks Summit 2018
DataWorks Summit 2018DataWorks Summit 2018
DataWorks Summit 2018Daesung Park
 
introduce of Hadoop map reduce
introduce of Hadoop map reduceintroduce of Hadoop map reduce
introduce of Hadoop map reduceDaeyong Shin
 
A.I.S팀_산학프로젝트챌린지 (2).pptx
A.I.S팀_산학프로젝트챌린지 (2).pptxA.I.S팀_산학프로젝트챌린지 (2).pptx
A.I.S팀_산학프로젝트챌린지 (2).pptxssuser0e717a
 
Distributed Programming Framework, hadoop
Distributed Programming Framework, hadoopDistributed Programming Framework, hadoop
Distributed Programming Framework, hadoopLGU+
 
초초초 (초고속 초저지연 초연결) 5G IoT 플랫폼 개발 이야기
초초초 (초고속 초저지연 초연결) 5G IoT 플랫폼 개발 이야기초초초 (초고속 초저지연 초연결) 5G IoT 플랫폼 개발 이야기
초초초 (초고속 초저지연 초연결) 5G IoT 플랫폼 개발 이야기ksdc2019
 
Real-time Big Data Analytics Practice with Unstructured Data
Real-time Big Data Analytics Practice with Unstructured DataReal-time Big Data Analytics Practice with Unstructured Data
Real-time Big Data Analytics Practice with Unstructured DataTed Won
 
Hadoop 제주대
Hadoop 제주대Hadoop 제주대
Hadoop 제주대DaeHeon Oh
 
[빅데이터 컨퍼런스 전희원]
[빅데이터 컨퍼런스 전희원][빅데이터 컨퍼런스 전희원]
[빅데이터 컨퍼런스 전희원]Jayoung Lim
 
H/W 규모산정기준
H/W 규모산정기준H/W 규모산정기준
H/W 규모산정기준sam Cyberspace
 
플랫폼데이2013 workflow기반 실시간 스트리밍데이터 수집 및 분석 플랫폼 발표자료
플랫폼데이2013 workflow기반 실시간 스트리밍데이터 수집 및 분석 플랫폼 발표자료플랫폼데이2013 workflow기반 실시간 스트리밍데이터 수집 및 분석 플랫폼 발표자료
플랫폼데이2013 workflow기반 실시간 스트리밍데이터 수집 및 분석 플랫폼 발표자료choi kyumin
 

Similar to 하둡-맵리듀스 튜닝 방법 (20)

하둡-맵리듀스
하둡-맵리듀스하둡-맵리듀스
하둡-맵리듀스
 
KCSE 2015 Tutorial 빅데이터 분석 기술의 소프트웨어 공학 분야 활용 (...
KCSE 2015 Tutorial 빅데이터 분석 기술의  소프트웨어 공학 분야 활용 (...KCSE 2015 Tutorial 빅데이터 분석 기술의  소프트웨어 공학 분야 활용 (...
KCSE 2015 Tutorial 빅데이터 분석 기술의 소프트웨어 공학 분야 활용 (...
 
Multithread pattern 소개
Multithread pattern 소개Multithread pattern 소개
Multithread pattern 소개
 
권기훈_개인포트폴리오
권기훈_개인포트폴리오권기훈_개인포트폴리오
권기훈_개인포트폴리오
 
[232] 수퍼컴퓨팅과 데이터 어낼리틱스
[232] 수퍼컴퓨팅과 데이터 어낼리틱스[232] 수퍼컴퓨팅과 데이터 어낼리틱스
[232] 수퍼컴퓨팅과 데이터 어낼리틱스
 
Mapreduce tuning
Mapreduce tuningMapreduce tuning
Mapreduce tuning
 
[OpenInfra Days Korea 2018] (Track 4) - Grafana를 이용한 OpenStack 클라우드 성능 모니터링
[OpenInfra Days Korea 2018] (Track 4) - Grafana를 이용한 OpenStack 클라우드 성능 모니터링[OpenInfra Days Korea 2018] (Track 4) - Grafana를 이용한 OpenStack 클라우드 성능 모니터링
[OpenInfra Days Korea 2018] (Track 4) - Grafana를 이용한 OpenStack 클라우드 성능 모니터링
 
weather-data-processing-using-python
weather-data-processing-using-pythonweather-data-processing-using-python
weather-data-processing-using-python
 
시스템종합설계_R&D_최종발표자료.pptx
시스템종합설계_R&D_최종발표자료.pptx시스템종합설계_R&D_최종발표자료.pptx
시스템종합설계_R&D_최종발표자료.pptx
 
제 17회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [Catch, Traffic!] : 지하철 혼잡도 및 키워드 분석 데이터 파이프라인 구축
제 17회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [Catch, Traffic!] : 지하철 혼잡도 및 키워드 분석 데이터 파이프라인 구축제 17회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [Catch, Traffic!] : 지하철 혼잡도 및 키워드 분석 데이터 파이프라인 구축
제 17회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [Catch, Traffic!] : 지하철 혼잡도 및 키워드 분석 데이터 파이프라인 구축
 
DataWorks Summit 2018
DataWorks Summit 2018DataWorks Summit 2018
DataWorks Summit 2018
 
introduce of Hadoop map reduce
introduce of Hadoop map reduceintroduce of Hadoop map reduce
introduce of Hadoop map reduce
 
A.I.S팀_산학프로젝트챌린지 (2).pptx
A.I.S팀_산학프로젝트챌린지 (2).pptxA.I.S팀_산학프로젝트챌린지 (2).pptx
A.I.S팀_산학프로젝트챌린지 (2).pptx
 
Distributed Programming Framework, hadoop
Distributed Programming Framework, hadoopDistributed Programming Framework, hadoop
Distributed Programming Framework, hadoop
 
초초초 (초고속 초저지연 초연결) 5G IoT 플랫폼 개발 이야기
초초초 (초고속 초저지연 초연결) 5G IoT 플랫폼 개발 이야기초초초 (초고속 초저지연 초연결) 5G IoT 플랫폼 개발 이야기
초초초 (초고속 초저지연 초연결) 5G IoT 플랫폼 개발 이야기
 
Real-time Big Data Analytics Practice with Unstructured Data
Real-time Big Data Analytics Practice with Unstructured DataReal-time Big Data Analytics Practice with Unstructured Data
Real-time Big Data Analytics Practice with Unstructured Data
 
Hadoop 제주대
Hadoop 제주대Hadoop 제주대
Hadoop 제주대
 
[빅데이터 컨퍼런스 전희원]
[빅데이터 컨퍼런스 전희원][빅데이터 컨퍼런스 전희원]
[빅데이터 컨퍼런스 전희원]
 
H/W 규모산정기준
H/W 규모산정기준H/W 규모산정기준
H/W 규모산정기준
 
플랫폼데이2013 workflow기반 실시간 스트리밍데이터 수집 및 분석 플랫폼 발표자료
플랫폼데이2013 workflow기반 실시간 스트리밍데이터 수집 및 분석 플랫폼 발표자료플랫폼데이2013 workflow기반 실시간 스트리밍데이터 수집 및 분석 플랫폼 발표자료
플랫폼데이2013 workflow기반 실시간 스트리밍데이터 수집 및 분석 플랫폼 발표자료
 

하둡-맵리듀스 튜닝 방법

  • 1. 맵 리듀스 성능향상 기법 발표자 이윤수 소속 한국교통대학교 컴퓨터공학과 발표일 2014년 4월 17일(목) 과목명 교통 빅데이터 처리론 담당교수 송석일 교수님
  • 2. 목차 1. 셔플 튜닝 2. 콤바이너 클래스 3. 압축 4. 블록사이즈 조정 5. JVM 재사용 6. 투기적 잡 실행 교통 빅데이터 처리 세미나 22014-04-17
  • 3. YARN 프로그래밍( 2014. 4. 3 세미나 미해결 질의 ) 2014-04-17 교통 빅데이터 처리 세미나 3  YARN API 사용  예제 ◼ hadoop-common / hadoop-yarn-project / hadoop-yarn / hadoop-yarn- applications / hadoop-yarn-applications-distributedshell ◼ https://github.com/hortonworks/simple-yarn-app  http://hortonworks.com/get-started/yarn/ ◼ MR2 ◼ Hoya  Weave ◼ Yarn Programming Tool Kit
  • 4. 셔플  매퍼의 출력 데이터를 정렬하여 리듀서의 입력 데이터로 전달하는 것  맵 태스크와 리듀스 태스크 사이의 데이터 전달 과정  내부적으로 복잡한 단계로 구성  셔플설정에 따라 잡의 성능에 지대한 영향을 줄 수 있음 2014-04-17 교통 빅데이터 처리 세미나 4
  • 5. 2014-04-17 교통 빅데이터 처리 세미나 5 1.스플릿 생성 입력 스플릿 입력 스플릿 입력 스플릿 맵1 맵2 맵3 2. 맵 3. 스필 4. 병합 리듀스1 리듀스2 5. 복사 6. 정렬 7. 리듀스 메모리 버퍼 파티션 맵 출력 데이터 메모리 버퍼, 파일 파일 잡의 입력 데이터는 논리적인 단위인 입력 스플릿으로 분리된 후, 스플릿별로 하나의 맵 태스크가 실행
  • 6. 셔플 튜닝  버퍼가 커지면 로컬에 저장 될 출력데이터가 줄어든다. ◼ is.sort.mb  기본값 100MB  300MB이상 설정시 JVM설정 필요  버퍼가 임계치에 다다르면 로컬디스크로 스필한다. ◼ is.sort.spill.percent  기본값 80% 교통 빅데이터 처리 세미나 6 3. 스필 메모리 버퍼 파티션 2. 맵 맵1 맵2 맵3 2014-04-17
  • 7. 교통 빅데이터 처리 세미나 7 4. 병합 5. 복사 파티션 맵 출력 데이터 메모리 버퍼, 파일  4.병합할 라운드 개수 증가 시 에 병합개수가 줄어듬 ◼ io.sort.factor  4.출력 파일에 접근하는 스레드 개수 설정 ◼ tasktracker.http.threads  5.맵태스크 출력데이터 복사 스 레드 개수 설정 ◼ Mapred.reduce.parallel.copies  5.복사된 출력데이터가 저장되 는 리듀스용 태스크트래커의 메 모리 버퍼 사이즈 ◼ Mapred.job.shuffle.input.buffe r.percent  기본값 힙메모리의 70% 2014-04-17
  • 8. 셔플 튜닝 (계속)  5. 버퍼가 파일로 저장되는 사용 임계치 ◼ mapred.job.shuffle.merge.percent  기본값 66%  5. 버퍼가 파일로 저장되는 처리해야할 파일 개 수 도달 한계 ◼ Mapred.inmem.merge.threshold  기본값 1000 2014-04-17 교통 빅데이터 처리 세미나 8
  • 9. 셔플 튜닝  정렬된 출력물을 리듀스 함 수의 병합 라운드 설정 ◼ io.sort.fact ◼ ex)  20개의 맵 출력 데이터  io.sort.fact = 10  각 라운드는 파일 10개당 하나 의 병합 파일을 만듬  최종적으로 2개의 파일 생성 2014-04-17 교통 빅데이터 처리 세미나 9 리듀스1 리듀스2 6. 정렬 7. 리듀스 파일
  • 10. 콤바이너 클래스  매퍼의 출력 데이터의 크기를 줄이는 기능 ◼ job.setCombinerClass(***Reducer.class); ◼ 파라미터로는 반드시 리듀서 클래스로 설정 2014-04-17 교통 빅데이터 처리 세미나 10 <Read, 1> <a , (1,1)> <book, (1,1)> <write, (1)> <Read, 1> <a, 1> <book, 1> <write, 1> <a, 1> <book, 1> 콤바이너 적용 전 콤바이너 적용 후
  • 11. 압축  맵 태스크의 출력 데이터를 압축하여 전송  파일 IO횟수와 네트워크 전송량이 감소하는 효 과를 얻을 수 있음  하둡은 Gzip, Snappy, Bzip 등의 압축 포맷 지 원  mapred.compress.output 2014-04-17 교통 빅데이터 처리 세미나 11
  • 12. DFS 블록 사이즈 수정  더 많은 수의 블록으로 분리되면 그만큼 많은 맵 태스크가 수행 2014-04-17 교통 빅데이터 처리 세미나 12 입력 파일 블록 사이즈 맵 태스크 수 100GB 32MB (100 * 1024) / 32 = 3200 64MB (100 * 1024) / 64 = 1600 128MB (100 * 1024) / 128 = 800
  • 13. JVM 재사용  태스크 트래커는 맵 태스크와 리듀스 태스크를 실행할 때 각각 별도의 JVM을 실행한다.  JVM 재사용 예 ◼ 매퍼나 리듀서의 초기화 시간이 오래걸리는 경우 ◼ 짧은 시간 안에 많은 매퍼를 실행해야 하는 경우  mapred.job.reuse.jvm.num.tasks 2014-04-17 교통 빅데이터 처리 세미나 13
  • 14. 투기적 잡 실행  일부 태스크의 작업이 지연되는 경우 다른 데이 터노드에서 동일한 태스크를 병렬로 실행  권장하는 방법은 아님 ◼ 작업 지연의 원인을 해결하는 것이 우선 2014-04-17 교통 빅데이터 처리 세미나 14
  • 15. END  Email ◼ Yunsou.lee@gmail.com  참조 ◼ 시작할게요 하둡프로그래밍 _ 정재화 ◼ http://hadoop.apache.org/docs/r2.3.0/hadoop- yarn/hadoop-yarn-site/YARN.html ◼ http://hortonworks.com/get-started/yarn 2014-04-17 교통 빅데이터 처리 세미나 15