하둡 맵리듀스 최적화와 튜닝 [MapReduce 성능 최적화를 위한 Hadoop 클러스터 구성과 튜닝]
- 원서명Optimizing Hadoop for MapReduce (ISBN 9781783285655)
- 지은이칼레드 타니어
- 옮긴이김현준
- ISBN : 9788960775848
- 14,000원
- 2014년 07월 23일 펴냄 (절판)
- 페이퍼백 | 136쪽 | 188*235mm
- 시리즈 : acorn+PACKT, 데이터 과학
판매처
- 현재 이 도서는 구매할 수 없습니다.
책 소개
요약
오픈소스인 하둡(Hadoop)에서, 클러스터 구성 및 최적화는 사용자의 기술과 경험적인 영향을 많이 받는다. 맵리듀스(MapReduce)의 경우 하위 인프라에 추가로 수행될 맵리듀스 애플리케이션과 데이터, 사용자의 특성까지 고려하여 구성하고 튜닝해야 한다. 이 책에는 맵리듀스와 맵리듀스의 성능에 대해 개괄하고, 맵리듀스 클러스터 최적화 구성, 리소스 병목을 찾아내고 해결하는 저자의 소중한 노하우가 담겨있으며, 맵리듀스 애플리케이션과 데이터에 따른 맵리듀스의 각 단계별 상세한 튜닝법을 설명한다. 아울러 맵리듀스 애플리케이션 개발자가 반드시 숙지하고 있어야 할 코딩 기술과, 사용자의 맵리듀스 애플리케이션 성능을 극대화 할 수 있는 다양한 시스템 관련 튜닝(OS, JVM, GC, I/O 등)과 체크리스트, 그리고 애플리케이션 성능과 개발자의 생산성을 함께 높일 수 있는 맵리듀스 템플릿 코드를 제공한다.
이 책에서 다루는 내용
■ 하둡 클러스터 노드 규모 산정
■ 자원 병목을 찾아내기 위한 하둡 맵리듀스 성능관련 카운터 활용법
■ 최적의 맵퍼와 리듀서 구성
■ 압축과 컴바이너 활용을 통한 맵과 리듀서 태스크 처리율 최적화
■ 다양한 최적화 기법 이해와 클러스터 최적화의 모범사례
■ 사용자의 하둡 클러스터 취약점 발견
■ 맵리듀스 성능에 영향을 주는 요인
이 책의 대상 독자
하둡 관리자 혹은 개발자, 맵리듀스 사용자, 하둡 입문자가 클러스터와 애플리케이션을 최적화하는 데 매우 유용한 도서다. 맵리듀스 애플리케이션 개발 경험이 있다면, 마지막 장의 맵리듀스 클래스 템플릿 코드를 이해하는 데 도움이 된다.
이 책의 구성
1 장, 맵리듀스의 이해: 맵리듀스 내부 동작 방식과 성능에 영향을 주는 요인을 찾아본다.
2 장, 하둡 설정 개요: 하둡 설정 파일과 맵리듀스 성능 관련 설정을 연구하고. 추가로 하둡 맵리듀스 활동 내역을 모니터링하는 데 사용하는 하둡 지표와 다양한 성능 모니터링 툴을 살펴본다.
3 장, 시스템 병목 검출: 하둡 맵리듀스 성능 튜닝 절차와 성능 기준치 작성 요령을 배운다. 그리고 하둡 카운터를 이용해 리소스 병목과 취약점을 찾는 방법을 배운다.
4 장, 리소스 취약점 발견: 하둡 클러스터 상태와 CPU와 메모리 사용량, 대규모 I/O 스토리지와 네트워크 전송량을 확인한다. 하둡 클러스터를 구축할 때 필요한 정확한 리소스 산정 방법을 배운다.
5 장, 맵과 리듀스 태스크 성능 향상: 맵과 리듀스 태스크 실행 성능을 향상시키는 기술을 배운다. 블록 크기의 중요성을 배우고 스필 레코드 수 절감 방법, 맵과 리듀스 처리율 측정, 맵리듀스 설정 튜닝 방법을 학습한다.
6 장, 맵리듀스 최적화: 맵과 리듀스 태스크 최적화를 위한 컴바이너와 압축 기술의 적절한 적용 예시를 살펴보고 다양한 애플리케이션 코드 최적화 기술을 학습한다.
7 장, 모범 사례와 권장 사항: 하둡 클러스터를 최대한 활용하기 위한 각종 장비와 소프트웨어의 체크리스트, 권장 사항, 튜닝 기법을 소개한다.
목차
목차
- 1장 맵리듀스의 이해
- 맵리듀스 모델
- 하둡 맵리듀스 개요
- 하둡 맵리듀스 내부 구성
- 맵리듀스 성능에 영향을 주는 요인
- 정리
- 2장 하둡 설정 개요
- 하둡 설정 연구
- mapred-site.xml 설정 파일
- CPU 관련 설정
- 디스크 I/O 관련 설정
- 메모리 관련 설정
- 네트워크 관련 설정
- hdfs-site.xml 설정 파일
- core-site.xml 설정 파일
- mapred-site.xml 설정 파일
- 하둡 맵리듀스 지표
- 성능 모니터링 툴
- 척와의 하둡 모니터링
- 강글리아의 하둡 모니터링
- 나지오스의 하둡 모니터링
- 암바리의 하둡 모니터링
- 정리
- 하둡 설정 연구
- 3장 시스템 병목 검출
- 성능 튜닝
- 성능 기준치 작성
- 리소스 병목 검출
- 메모리 병목 검출
- CPU 병목 검출
- 스토리지 병목 검출
- 네트워크 병목 검출
- 정리
- 4장 리소스 취약점 발견
- 클러스터 취약점 발견
- 하둡 클러스터 노드 상태 확인
- 입력 데이터 크기 확인
- 대규모 I/O와 네트워크 트래픽 발생 확인
- 병렬 태스크 부족 증상 확인
- CPU 경합 발생 확인
- 하둡 클러스터 규모 산정
- 올바른 클러스터 구성
- 정리
- 클러스터 취약점 발견
- 5장 맵과 리듀스 태스크 성능향상
- 맵 태스크 성능향상
- 입력 데이터와 블록 크기의 영향
- 작고 분할이 안되는 파일 처리
- 맵 단계의 스필 빈도 줄이기
- 맵 태스크 처리율 계산
- 리듀스 태스크 성능향상
- 리듀스 태스크 처리율 계산
- 리듀스 실행 단계 성능향상
- 맵과 리듀스 설정 튜닝
- 정리
- 맵 태스크 성능향상
- 6장 맵리듀스 태스크 최적화
- 컴바이너 활용
- 압축 활용
- 적절한 Writable 자료형 사용
- 스마트한 자료형 재사용
- 맵퍼와 리듀서 코드 최적화
- 정리
- 7장 모범 사례와 권장 항목
- 하드웨어 튜닝과 운영체제 권장 설정
- 하둡 클러스터 체크리스트
- 바이오스 튜닝 체크리스트
- 운영체제권장설정
- 하둡모범사례와권장사항
- 하둡설치
- 권장하둡튜닝
- 맵리듀스 클래스 템플
- 정리
- 하드웨어 튜닝과 운영체제 권장 설정
도서 오류 신고
정오표
정오표
[ p58 5행 (개행오류) ]
hadoop jar hadoop-test.jar TestDFSIO -write -nrFiles 10
-fileSize 1000hadoop
jar hadoop-test.jar TestDFSIO -read -nrFiles 10 -fileSize 1000
->
hadoop jar hadoop-test.jar TestDFSIO -write -nrFiles 10 -fileSize 1000
hadoop jar hadoop-test.jar TestDFSIO -read -nrFiles 10 -fileSize 1000