본문 바로가기

도서 소개

빅 데이터 시대의 하둡 완벽 입문(제2판)

 

 

이 책은 현재 절판입니다. 그간 읽어주셔서 감사드립니다. ​

 

Hadoop의 다양한 애플리케이션 개발 환경을 상세히 설명하고 구축과 운영에 관한 자세한 정보 수록!

A부터 Z까지 Hadoop에 관한 거의 모든 것!

 

출판사 제이펍

원출판사 쇼에이사

원서명 Hadoop徹底入門 第2版 (원서 ISBN: 9784798129648)

저자명 오오타 카스기, 이와사키 마사타케, 사루타 코우스케, 시모가키 토오루, 후지이 타츠로우, 야마시타 신이치 지음

역자명 김완섭

출판일 2014년 6월 18일

페이지 656쪽

시리즈 I♥Cloud 09 (아이러브클라우드 09)

판  형 4x6배판 변형(188*245*31)

제  본 무선(soft cover)

정  가 36,000원

ISBN 978-89-94506-96-8 (93000)

키워드 Hadoop/Cloudera/CDH 4/Java MapReduce Framework/Pig/Hive/HBase

분야 클라우드 / 빅 데이터

 
관련 사이트
 
관련 포스트
관련 시리즈
 
소스 코드 다운로드
■ 교재로 채택하신 분들에게는 강의교안 제작에 도움이 되도록 본문 이미지 자료(번역서)를 보내드리도록 하겠습니다(출판사로 메일이나 전화로 연락주세요). 
 
샘플 PDF(차례와 옮긴이 머리말, 머리말, 베타리더 후기, 1장 Hadoop 기초 지식, 찾아보기)
정오표 페이지
■ (등록되는 대로 링크를 걸어드리겠습니다)
 
도서구매 사이트(가나다순)
 
도서 소개
Hadoop의 다양한 애플리케이션 개발 환경을 상세히 설명하고 구축과 운영에 관한 자세한 정보 수록!
A부터 Z까지 Hadoop에 관한 거의 모든 것!
 
IT 시스템 세계에서 ‘Hadoop’이라는 소프트웨어 사용이 늘어나고 있다. 이 책을 가지고 있다는 것은 적어도 Hadoop에 관심이 있다는 것이다. 아직 Hadoop에 관해 잘 몰라도 소프트웨어 이름이라는 것 정도는 알고 있겠지만, ‘도대체 용도가 뭐야?’, ‘뭐 하는 거지?’ 등과 같은 초보적인 질문을 하는 사람도 적지 않을 것이다. 또한, 어떤 데이터를 취급하기 위한 미들웨어라는 것은 알고 있더라도 ‘관계형 데이터베이스랑은 어떻게 달라?’, ‘파일시스템이랑 달라?’, ‘처리를 위한 새로운 개념인가?’ 등 다양한 의문이 많을 거라고 생각된다.
 
Hadoop은 다수의 컴퓨터를 연결하여 대용량 처리를 가능케 하는 오픈 소스 소프트웨어이며, MapReduce라는 자바 프레임워크를 사용해 프로그래밍이 가능하다. 또한, 표준 입출력을 사용할 수 있는 HadoopStreaming, 플로(flow) 기술 환경 Pig, SQL 방식 인터페이스인 Hive 등 다양한 개발 환경을 제공하고 있다. 뿐만 아니라 행 지향 데이터베이스인 HBase나 로그 수집기 Fluentd의 기반 시스템으로도 사용할 수 있어서 높은 범용성을 자랑한다.
 
이 책은 1판에 비해 Hadoop에 관해 전혀 모르는 사람들도 이해하는 데 좀 더 도움이 되도록 개요 부분을 더욱 쉽게 구성했으며, MapReduce 애플리케이션 개발 내용을 추가하고 초보자부터 고급 사용자까지 모두 활용할 수 있도록 했다. 운용성, 가용성 측면도 보강하고 새로운 기술 이슈에 대해서도 추가하였다. 또한, 실제 시스템에서 많이 사용되고 있는 클라우데라(Cloudera)의 CDH 4를 기준으로 시스템 확장, 감시, 운영 방법 등 현장에서 바로 적용할 수 있는 최신 노하우까지 담았다.
 
저자 소개
오오타 카스기(太田一樹) 
2008년에 동경대학 이학부 정보공학과를 졸업하였고, 2010년에 동대학 정보공학연구소 컴퓨터과학 석사를 수료하였다. 대규모 데이터 처리를 위한 분산 시스템 등에 흥미를 가지고 있으며, 현재는 rTeasure Data, Inc.에서 최고기술책임자로 재직 중이다.
 
이와사키 마사타케(岩崎正剛)
주식회사 NTT의 데이터 기반 시스템 사업본부에서 근무하고 있다. Hadoop을 시작으로 OSS와 관련된 다양한 기술을 담당한다. 빵이 없으면 밥을 먹으면 된다고 주장하고 있으며, 면 종류를 좋아한다.
 
사루타 코우스케(猿田浩輔)
주식회사 NTT의 데이터 기반 시스템 사업본부에서 근무하고 있다. 입사 이후 Hadoop을 시작으로 OSS 도입 기술과 기술 검증 및 개발을 담당하였다. 지금까지 수백 대 규모의 Hadoop 클러스터를 구축하였고, 애플리케이션 설계 지원도 실시하였다. 프로그래밍, OS, 네트워크, DB 등에도 흥미가 있어서 자기계발을 위해 다양한 책을 구입하는 편이나, 책을 읽는 속도보다 책이 늘어나는 속도가 빠른 것이 걱정이다. 단것이 삶의 원동력이라 믿고 있으며, ‘이론보다 일단 실행이 우선’을 인생 좌우명으로 삼고 있다.
 
시모가키 토오루(下垣徹)
주식회사 NTT의 데이터 기반 시스템 사업본부에서 주임으로 근무하고 있으며, PostgreSQL을 중심으로 한 오픈 소스 DBMS에 몰두하고 있다. 오라클 데이터 베이스를 PostgreSQL로 변환하는 프로젝트를 담당하며, 상용 시스템 이행 작업을 구현해 왔다. 최근 대규모 데이터 처리에 대한 필요가 늘어나면서 Hadoop을 도입하기 시작, DBMS와 Hadoop 양쪽의 특성을 활용한 효율적인 시스템 구축에 주력하고 있는 중이다.
 
후지이 타츠로우(藤井達朗)
약 2년이 지나 직함에서 인턴을 떼고 정식 엔지니어가 되었고, 다지 2년이 지나서야 집에다 전기밥솥을 들일 수 있었다. ‘빵도 밥도 없으면 안 먹으면 되지.’라는 생활에서 간신히 탈출한 상태다. 참고로, 면 종류(특히 라면)를 몹시 좋아하는 또 한 사람이다.
 
야마시타 신이치(山下真一)
주식회사 NTT의 데이터 기반 시스템 사업본부에서 주임으로 근무하고 있으며, 오픈 소스 소프트웨어에 관련된 미들웨어A(pache/Tomcat/PostgreSQL) 평가나 검증, 기술 개발 및 지원을 담당하고 있다. 최근에는 Hadoop을 중심으로 한 에코(ECO) 시스템 도입 업무에 참여 중이다. 개인적으로는 새로운 기술이 나오면 소스 코드부터 건드려 본다거나, 수많은 데이터와 정보를 사용해서 개인의 특성을 추출하여 무언가 재미있는 것을 고안하려고 사투를 벌이곤 한다.
 
감수
하마노 켄이치로(濱野賢一朗)
주식회사 NTT의 데이터 기반 시스템 사업본부에서 시니어 엑스퍼트로 근무하고 있다. 주식회사 비기네트 부사장이기도 하며, 리눅스 아카데미 학교장을 거쳐 2008년부터 NTT에서 재직 중이다. 1998년부터 줄곧 리눅스/OSS 분야에 종사했지만, 최근에는 Hadoop 도입 지원과 보급 추진 활동에 주력하고 있다. 분산 처리 아키텍처가 이후 TI 시스템에 어떻게 접근할 수 있을지 고민하고 있다.
 
 
역자 소개
김완섭
대학에서 지리정보 공학을 전공했으며, 일본에서 시스템 엔니지어로 5년간 근무했다. 일본 보험시스템 개발 담당을 시작으로, 일본 대기업 세콤(SECOM) 계열사인 파스코(PASCO)에서 일본 외무성, 일본 국토지리정보원 등 일본 정부기관을 대상으로 한 시스템 통합(SI) 업무를 담당했다.
이후 야후 재팬(Yahoo Japan)으로 직장을 옮겨 야후 맵(Yahoo Map) 개발 담당 시니어 엔지니어로 근무하다가 2010년 귀국하여 SK에서 내비게이션 데이터 담당 매니저로 일했다. 지금은 또 다른 꿈을 찾아서 네덜란드에서 공부 중에 있다. 역서로는 《코딩을 지탱하는 기술》 《따라하며 배우는 서버 부하분산 입문》이 있다.
 
차례
PART 1 Hadoop 기초 .... 1
Chapter 1 Hadoop 기초 지식 3
1.1 Hadoop이란? 4
1.2 Hadoop 개요 4
1.3 Hadoop 적용 분야 15
1.4 Hadoop 시스템 구성과 아키텍처 19
1.5 Hadoop 적용 사례 30
더보기
Chapter 2 MapReduce 애플리케이션 활용 예 35
2.1 블로그 접속 수 집계 36
2.2 비슷한 사람을 찾아내자 41
2.3 검색 엔진 인덱스 작성 43
2.4 이미지 데이터 분산 처리 46
2.5 MapReduce로 구현할 수 있는 처리 특성과 활용 포인트 48
 
Chapter 3 Hadoop 도입 51
3.1 구축 환경 조건 52
3.2 실행 환경 구축 55
3.3 동작 확인 59
3.4 샘플 애플리케이션 실행 63
 
Chapter 4 HDFS 65
4.1 Hadoop의 파일 시스템 66
4.2 HDFS의 구조 68
4.3 HDFS의 파일 I/O 흐름 73
4.4 파일 시스템의 메타데이터 77
4.5 HDFS 설정과 시작/중지 81
4.6 SecondaryNameNode 92
4.7 CLI 기반 파일 조작 94
 
Chapter 5 MapReduce 프레임워크 109
5.1 MapReduce 처리 110
5.2 MapReduce 아키텍처 114
5.3 MapReduce와 HDFS의 관계 118
5.4 MapReduce 프레임워크 설정 123
5.5 MapReduce 프레임워크 시작과 정지 129
5.6 CLI 기반 MapReduce 관리 136
 
Chapter 6 Hadoop 애플리케이션 실행 143
6.1 테스트 애플리케이션 144
6.2 MapReduce 애플리케이션(자바) 144
6.3 HadoopStreaming 애플리케이션 150
6.4 Pig 애플리케이션 153
6.5 Hive 애플리케이션 160
 
Chapter 7 Hadoop 클러스터 구축 167
7.1 완전 분산 클러스터 168
7.2 환경 구축의 전제 조건 168
7.3 Hadoop 클러스터 환경 구축 169
7.4 웹 인터페이스를 통한 동작 확인 178
7.5 샘플 애플리케이션 실행 181
 
PART 2 MapReduce 애플리케이션 개발 .... 185
Chapter 8 MapReduce 프로그래밍 기초 - 자바를 사용한 개발(1) - 187
8.1 자바를 사용한 MapReduce 개발 188
8.2 소스 코드 단계에서 프로그램 실행 190
8.3 Mapper 194
8.4 Reducer 197
8.5 Writable 199
8.6 InputFormat/OutputFormat 203
8.7 main 프로그램 207
 
Chapter 9 MapReduce 프로그래밍 응용 - 자바를 사용한 개발(2) - 215
9.1 MapReduce 프로그램 커스터마이즈 216
9.2 입력 데이터 조작을 제어한다 216
9.3 출력 데이터 제어 226
9.4 독자 데이터형을 정의한다 229
9.5 Shuffle 단계 동작 제어 231
9.6 MapReduce 애플리케이션 테스트 및 디버깅 235
 
Chapter 10 MapReduce 개발 팁 -자바를 사용한 개발(3) - 243
10.1 이 장에서 소개할 내용 244
10.2 압축 데이터 다루기 244
10.3 MapReduce 처리에 적합한 파일 포맷 247
10.4 한 번에 복수의 파일 포맷 처리 249
10.5 분산 캐시 이용 252
10.6 Map 태스크/Reduce 태스크 실행 Context 처리 254
10.7 처리 중에 발생한 이벤트를 집계 256
10.8 MapReduce 애플리케이션 설정을 제어 259
 
Chapter 11 HadoopStreaming 263
11.1 HadoopStreaming이란? 264
11.2 HadoopStreaming 애플리케이션 구성 264
11.3 HadoopStreaming 활용 예 270
11.4 HadoopStreaming 명령어 옵션 275
 
Chapter 12 데이터 흐름형 처리 언어 Pig 283
12.1 Pig란? 284
12.2 Pig 실행 방법 286
12.3 Pig의 데이터 관리 288
12.4 Pig에서의 처리 방법 290
12.5 함수 298
12.6 애플리케이션 개발 301
12.7 Pig Latin 처리 구현 303
12.8 사용자 정의 함수 구현 306
12.9 Pig 디버그 313
12.10 Pig를 활용하기 위한 포인트 315
 
Chapter 13 SQL 유사 인터페이스 Hive 319
13.1 Hive 개요 320
13.2 Hadoop과 Hive 321
13.3 HiveQL 324
13.4 효율적인 Hive 활용법 347
 
PART 3 Hadoop 클러스터 구축과 운영 .... 359
Chapter 14 환경 구축 효율화 361
14.1 환경 구축과 설정 자동화 362
14.2 환경 구축 서버 설치 365
14.3 OS 자동 설치 373
14.4 Puppet을 사용한 환경 설정 377
14.5 PSSH를 이용한 운영 388
14.6 Hadoop 설정의 베스트 환경 392
 
Chapter 15 가용성 향상 395
15.1 고가용성의 기본 396
15.2 HDFS 고가용성 401
15.3 MapReduce 고가용화 413
 
Chapter 16 클러스터 모니터링 425
16.1 Hadoop 모니터링 426
16.2 Ganglia를 통한 Hadoop 클러스터 메트릭스 취득 437
16.3 Hadoop 클러스터 감시 445
 
Chapter 17 클러스터 운영 459
17.1 Hadoop 운영이란? 460
17.2 운영 시 구체적인 작업 462
17.3 정기적으로 실시해야 할 작업 474
17.4 Hadoop 클러스터 확장 479
17.5 클러스터 장애 대응 481
 
Chapter 18 복수 사용자에 의한 리소스 제어 493
18.1 리소스 제어 도입 494
18.2 기본 설정 495
18.3 스케줄러를 사용한 리소스 분배 제어 500
 
PART 4 Hadoop 활용 기술 .... 521
Chapter 19 Hadoop 튜닝 523
19.1 튜닝이 필요한 케이스 524
19.2 MapReduce 잡 동작에 영향을 주는 설정 524
19.3 Map 태스크 튜닝 527
19.4 Reduce 태스크 튜닝 532
19.5 자바 VM 튜닝 535
19.6 OS 튜닝 545
 
Chapter 20 분산형 데이터베이스 HBase 551
20.1 HBase란? 552
20.2 HBase 데이터 모델 554
20.3 아키텍처 555
20.4 설치 방법 558
20.5 HBase Shell 563
20.6 MapReduce 잡 활용 572
20.7 HBase 테이블 설계 578
 
Chapter 21 Fluentd 로그 수집기 581
21.1 로그 수집기 등장 배경 582
21.2 Fluentd란? 584
21.3 모든 로그를 JSON으로 587
21.4 Fluentd 설치 588
21.5 Fluentd 기본 590
21.6 HDFS에 기록하기 위한 설정 예 593
21.7 Fluentd 내부 구조 595
21.8 Fluentd HA 구성 598
21.9 Fluentd 튜닝 601
21.10 Fluentd 모니터링 602
21.11 Fluentd와 유사한 소프트웨어 604
 
Chapter 22 YARN 605
22.1 YARN 기초 지식 606
22.2 YARN 아키텍처 611
22.3 Hadoop/MapReduce/YARN과 기존 Hadoop/MapReduce의 차이 613
22.4 YARN을 이용한 MapReduce 실행 615
 
찾아보기 .... 629