장바구니 담기 close

장바구니에 상품을 담았습니다.

빅데이터 전문가의 하둡 관리

빅데이터 전문가의 하둡 관리

  • 샘R.알라파티
  • |
  • 성안당
  • |
  • 2018-11-05 출간
  • |
  • 824페이지
  • |
  • 189 X 260 X 44 mm /1660g
  • |
  • ISBN 9788931555752
판매가

40,000원

즉시할인가

36,000

카드할인

0원(즉시할인 0%)

적립금

2,000원 적립(5%적립)

배송비

무료배송

(제주/도서산간 배송 추가비용:3,000원)

추가혜택

네이버페이 무조건 1%적립+ 추가 1%적립

수량
+ -
총주문금액
36,000

이 상품은 품절된 상품입니다

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

목차


머리말 15
저자 서문 16
이 책은 누구를 위한 것인가? 17
이 책의 구조와 다루고 있는 주제들 17
감사의 말 21
저자에 대하여 23
역자 서문 24
역자에 대하여 25

PART Ⅰㆍ 하둡 소개 …아키텍처와 하둡 클러스터 ㆍ26
Chatper 1. 하둡 소개 및 하둡의 주변 환경 28
▶ 하둡과 하둡의 생태계에 대한 개요 28
하둡의 특징들 30
빅데이터와 하둡 31
하둡을 사용하는 일반적 시나리오 32
전통적인 데이터베이스 시스템 33
데이터 호수 35
빅데이터, 데이터 과학 그리고 하둡 36
▶ 클러스터 컴퓨팅과 하둡 클러스들 37
클러스터 컴퓨팅 37
하둡 클러스터들 38
▶ 하둡 컴포넌트들과 하둡 생태계 40
▶ 하둡 관리자들이 하는 일 43
하둡 관리 … 새로운 패러다임 44
하둡을 관리하기 위해 알아야 하는 것 46
하둡 관리자 툴세트 47
▶ 하둡 1과 하둡 2의 주요 차이점 47
아키텍처의 차이 47
고가용성 기능들 48
다중 처리 엔진들 48
프로세싱과 스케줄링의 분리 49
하둡 1과 하둡 2의 리소스 할당 방식 49
▶ 분산형 데이터 처리: 맵리듀스, 스파크, 하이브, 피그 50
맵리듀스 50
아파치 스파크 51
▶ 데이터 통합: 아파치 스쿱, 아파치 플룸, 아파치 카프카 53
▶ 하둡 관리의 핵심 영역 54
클러스터 스토리지 관리 55
클러스터 리소스 할당 55
잡 스케줄링 56
하둡 데이터 보안 57
▶ 요약 58

Chatper 2. 하둡 아키텍처 개요 59
▶ 분산 컴퓨팅과 하둡 59
▶ 하둡 아키텍처 60
하둡 클러스터 61
마스터 노드와 워커 노드 61
하둡 서비스 62
▶ 데이터 스토리지 - 하둡 분산 파일 시스템 63
HDFS 특징들 63
HDFS 아키텍처 64
HDFS 파일 시스템 66
네임노드 오퍼레이션 69
▶ 하둡 운영 시스템인 얀을 사용한 데이터 프로세싱 74
얀의 아키텍처 75
리소스를 할당하기 위해 애플리케이션마스터가 리소스매니저와 협력하는 방법 80
▶ 요약 82

Chapter 3 간단한 하둡 클러스터 생성 및 환경 설정 83
▶ 하둡 배포판과 설치 타입 84
하둡 배포판 84
하둡 설치 타입 85
▶ 가상 분산 하둡 클러스터 설정하기 86
운영 시스템의 조건 충족시키기 87
커널 매개변수의 수정 87
SSH 설정 93
자바 설치 94
하둡 소프트웨어 설치 95
하둡용 사용자 계정 생성 96
필수 디렉토리 생성 96
▶ 하둡 설정하기 97
환경 설정 파일 98
읽기 전용 디폴트 설정 파일 99
사이트 설정 파일 100
이외의 하둡 관련 설정 파일 100
설정 파일 간의 설정 우선순위 101
변수 확장과 설정 매개변수 104
하둡 데몬 환경 설정 104
core-site.xml 파일로 코어 하둡 속성 설정하기 106
mapred-site.xml 파일로 맵리듀스 설정하기 108
yarn-site.xml로 얀 설정하기 109
▶ 새로운 하둡 클러스터 운영하기 111
분산 파일 시스템 포맷하기 112
HDFS와 얀 서비스 시작하기 102
서비스 동작 여부 확인하기 115
서비스 중지하기 116
▶ 요약 116

Chapter 4. 하둡 클러스터 계획하기 118
▶ 클러스터를 계획할 때 일반적으로 고려해야 할 것들 118
서버 구성 요소 120
노드를 선택하는 기준 120
▶ 싱글 랙에서 멀티 랙으로 가기 121
하둡 클러스터 크기 결정하기 121
CPU, 메모리 그리고 스토리지를 결정하는 일반적인 원칙들 121
마스터 노드에 대해 특별히 고려해야 할 점 125
서버 사이즈에 대한 추천 126
클러스터 확장하기 127
큰 규모의 클러스터를 위한 가이드라인 127
▶ 멀티노드 클러스터 만들기 128
테스트 클러스터를 만드는 방법 129
▶ 하둡 설정 파일 수정하기 133
HDFS 설정 변경(hdfs-site.xml 파일) 133
HDFS 매개변수 수정하기 134
얀 설정 수정 135
맵리듀스 설정 변경하기 139
▶ 클러스터 시작하기 141
스크립트로 클러스터 시작하고 종료하기 143
새로운 클러스터 파일 시스템을 빠르게 점검하기 144
▶ 하둡 서비스, 웹 인터페이스 그리고 포트 설정하기 145
서비스 설정과 웹 인터페이스 145
하둡 서비스 포트 설정하기 148
하둡 클라이언트 150
▶ 요약 152

PART Ⅱㆍ 하둡 애플리케이션 프레임워크 ㆍ154
Chatper 5. 클러스터에서 야플리케이션 실행하기 … 맵리듀스 프레임워크(& 하이브와 피그) 156
▶ 맵리듀스 프레임워크 156
맵리듀스 모델 157
맵리듀스가 동작하는 방식 158
맵리듀스 잡 프로세싱 160
간단한 맵리듀스 프로그램 162
하둡의 작업 처리 이해하기 - WordCount 프로그램 실행 163
맵리듀스 입력과 출력 디렉토리 164
하둡이 잡의 상세 정보를 보여주는 방법 164
하둡 스트리밍 166
▶ 아파치 하이브 168
하이브의 데이터 구성 169
하이브 테이블로 작업하기 169
데이터를 하이브로 로딩하기 170
하이브 쿼리하기 171
▶ 아파치 피그 171
피그 실행 모드 172
간단한 피그의 예시 172
▶ 요약 173

Chapter 6. 클러스터에서 애플리케이션 실행하기 - 스파크 프레임워크 174
▶ 스파크는 무엇인가? 175
▶ 왜 스파크인가? 176
속도 177
사용과 접근의 용이함 179
간결함과 간편함 179
다목적 프레임워크 180
스파크와 하둡 181
▶ 스파크 스택 181
▶ 스파크 설치하기 183
스파크의 예제들 185
스파크의 중요한 파일과 디렉토리들 185
스파크 바이너리 컴파일하기 185
스파크 로그의 상세 정도 줄이기 186
▶ 스파크 실행 모드 186
로컬 모드 186
클러스터 모드 187
▶ 클러스터 매니저 이해하기 187
독립형 클러스터 매니저 187
아파치 메소스를 이용하는 스파크 190
얀에서 스파크 실행하기 191
얀과 스파크가 함께 연동되는 방식 192
하둡 클러스터에 스파크 설정하기 192
▶ 스파크와 데이터 액세스 193
리눅스 파일 시스템에서 데이터 로드하기 193
HDFS에서 데이터 로드하기 193
관계형 데이터베이스에서 데이터 로드하기 195
▶ 요약 196

Chapter 7. 스파크 애플리케이션 실행하기 197
▶ 스파크 프로그래밍 모델 198
스파크 프로그래밍과 RDD 198
함수 프로그래밍 199
스파크 프로그래밍 200
▶ 스파크 애플리케이션 202
RDD의 기초 202
RDD 생성 202
RDD 오퍼레이션 205
RDD 저장 208
▶ 스파크 애플리케이션의 아키텍처 209
스파크 용어 209
스파크 애플리케이션의 컴포넌트 209
▶ 인터랙티브하게 스파크 애플리케이션 실행하기 210
▶ 스파크 셸과 스파크 애플리케이션 211
스파크 셸에 대해 211
스파크 셸 사용하기 212
스파크 클러스터 실행에 대한 개요 214
▶ 스파크 애플리케이션을 만들고 서밋하기 215
스파크 애플리케이션 만들기 216
독립적 스파크 클러스터에서 애플리케이션 실행하기 217
spark-submit으로 애플리케이션 실행하기 217
메소스에서 스파크 애플리케이션 실행하기 219
얀에서 하둡 클러스터에서 스파크 애플리케이션 실행하기 219
JDBC/ODBC 서버 사용하기 222
▶ 스파크 애플리케이션 설정하기 223
스파크 설정 프로퍼티 223
spark-submit을 실행할 때 설정할 수 있는 것 223
▶ 스파크 애플리케이션 모니터링 225
▶ 스파크 스트리밍으로 스트리밍 데이터 다루기 225
▶ 스파크 스트리밍의 동작 방식 225
WorkCount로 다시 보는 스파크 스트리밍 227
▶ 스파크 SQL을 사용해 구조화된 데이터 처리하기 229
데이터프레임 229
HiveContext와 SQLContext 229
스파크 SQL과 연동하기 230
데이터프레임 생성 231
▶ 요약 232

PART Ⅲㆍ 하둡 데이터 관리 및 보호 그리고 고가용성 ㆍ234
Chapter 8. 네임노드의 역할과 HDFS의 동작 방식 236
▶ HDFS - 네임노드와 데이터노드 사이의 상호 연동 237
클라이언트와 HDFS 간의 상호 연동 238
네임노드와 데이터노드 간의 통신 238
▶ 랙 어웨어니스와 토폴로지 240
클러스터에 랙 어웨어니스 설정하기 241
클러스터의 랙 정보 찾기 242
▶ HDFS의 데이터 복제 244
HDFS 데이터 관리 및 데이터 블록 245
데이터 복제 245
블록과 복제본의 상태 248
▶ 클라이언트가 HDFS 데이터를 읽고 쓰는 방식 251
클라이언트가 HDFS 데이터를 읽는 방식 251
클라이언트가 HDFS에 데이터를 쓰는 방식 252
▶ HDFS 복구 프로세스의 이해 256
생성 스템프 256
사용권 복구 256
블록 복구 257
파이프라인 복구 258
▶ HDFS의 중앙집중적 캐시 관리 259
하둡과 OS 페이지 캐시하기 260
중앙 캐시 관리의 핵심 원리 260
중앙 캐시 관리가 동작하는 방식 261
캐시 설정 261
캐시 명령 262
캐시 풀 262
캐시 사용하기 263
▶ 하둡의 아카이브 스토리지, SSD와 메모리(이종 스토리지) 264
스토리지 타입에 따른 성능상의 특징들 265
이기종 HDFS 스토리지의 필요성 266
스토리지 아키텍처의 변화 267
파일에 대한 스토리지 설정 267
아카이브 스토리지 설정 268
스토리지 정책 관리 271
데이터 이동하기 272
아카이브 스토리지 만들기 273
▶ 요약 274

Chapter 9. HDFS 명령, 퍼미션, 그리고 스토리지 275
▶ HDFS를 HDFS 셸 명령으로 관리하기 276
hdfs dfs 유틸리티를 이용해 HDFS 관리하기 277
HDFS 파일과 디렉토리 목록 구하기 279
HDFS 파일과 디렉토리 제거하기 282
파일과 디렉토리의 소유권 변경하기 283
▶ dfsadmin을 이용해 HDFS 오퍼레이션 실행하기 284
dfsadmin -report 명령 286
▶ HDFS 퍼미션과 사용자 관리하기 288
HDFS 파일 퍼미션 288
HDFS 유저와 수퍼 유저 291
▶ HDFS 스토리지 관리하기 293
HDFS 디스크 사용률 확인하기 294
HDFS 스토리지에 쿼터 할당하기 298
▶ HDFS 데이터 리밸런싱하기 302
HDFS가 불균형 상태가 된 이유 303
HDFS 데이터의 균형을 맞추기 위해 밸런서 실행하기 303
hdfs dfsadmin을 이용해 쉽게 작업하기 306
밸런서 툴을 실행해야 할 시점 308
▶ HDFS 여분의 공간 확보하기(공간 재생) 309
파일과 디렉토리 제거하기 310
복제 계수 낮추기 310
▶ 요약 312

Chapter 10. 데이터 보호, 파일 포맷, 그리고 HDFS 접속 313
▶ 데이터 보호하기 314
HDFS 휴지통 기능으로 실수로 데이터를 삭제하는 일 방지하기 314
중요한 데이터를 보관하기 위해 HDFS 스냅샷 사용하기 317
파일 시스템 검사를 통한 데이터 무결성 검증하기 322
▶ 데이터 압축 328
일반적으로 쓰이는 압축 포맷들 329
다양한 압축 방식에 대한 평가 329
맵리듀스를 위한 여러 단계에서의 압축 330
스파크를 위한 압축 334
데이터 직렬화 334
▶ 하둡 파일 포맷 335
바른 파일 포맷을 결정하는 기준 335
하둡이 지원하는 파일 포맷들 337
이상적인 파일 포맷 343
하둡의 작은 파일 문제 그리고 파일 합치기 344
작은 파일 문제를 극복하기 위한 연합된 네임노드 사용하기 345
HAR을 이용해 작은 파일 관리하기 345
작은 파일로 인한 성능 이슈 해결하기 347
▶ 하둡의 WebHDFS와 HttpFS 이용하기 349
WebHDFS - 하둡의 REST API 349
WebHDFS 사용하기 350
WebHDFS API 사용하기 350
WebHDFS 명령 이해하기 351
방화벽 뒤에 있는 HDFS에 접속하기 위해 HttpFS 게이트웨이 사용하기 355
▶ 요약 357

Chapter 11. 네임노드 오퍼레이션, 고가용성 그리고 페더레이션 358
▶ 네임노드 오퍼레이션 이해하기 359
HDFS 메타데이터 360
네임노드 시작 과정 362
네임노드와 데이터노드 간의 협업 과정 363
▶ 체크포인팅 프로세스 365
세컨더리, 체크포인트, 백업 그리고 스탠바이 노드들 366
체크포인팅 주기 설정 368
체크포인트 성능 관리하기 369
체크포인팅의 메커니즘 370
▶ 네임노드의 안전 모드 오퍼레이션 371
자동 안전 모드 오퍼레이션 372
네임노드를 안전 모드로 만들기 372
네임노드가 안전 모드를 통해 상태를 전환하는 방법 374
네임노드 메타데이터 백업과 복원 375
▶ HDFS 고가용성 설정 377
네임노드의 HA 아키텍처(QJM) 378
아파치 주키퍼를 중재자로 사용하기 378
HDFS HA Quorum 클러스터 설정하기 380
고가용 네임노드 설치하기 385
HA의 수동 전환 및 자동 전환 390
▶ HDFS 연합(HDFS Federation) 392
연합 네임노드 아키텍처 393
▶ 요약 394

PART Ⅳㆍ 데이터 이동, 리소스 할당, 잡 스케줄링 그리고 보안 ㆍ396
Chapter 12. 하둡에서 데이터 넣고 배기 39
▶ 하둡 데이터 이동을 위한 툴들 398
▶ 명령행을 통해 HDFS에 데이터 로딩하기 399
-cat 명령을 사용해 파일 내용 덤프하기 400
HDFS 파일 테스트하기 400
HDFS로 로컬 파일 시스템 간의 파일 복사 및 이동 401
-get 명령으로 파일 옮기기 403
HDFS에서 파일을 가져오거나 넣기 403
-tail과 head 명령 사용법 404
▶ DistCp를 이용해 클러스터 사이에 HDFS 데이터 복사하기 404
DistCp 명령을 이용해 데이터 옮기기 404
DistCp 옵션 407
▶ 스쿱으로 관계형 데이터베이스 데이터 처리하기 410
스쿱 아키텍처 410
스쿱 설치하기 411
스쿱으로 데이터 이동하기 412
스쿱으로 데이터 가져오기 413
데이터를 하이브로 가져오기 424
스쿱으로 데이터 내보내기 427
▶ 플룸을 이용해 외부에서 들어오는 데이터 처리하기 434
플룸 아키텍처 간략히 살펴보기 434
플룸 에이전트 설정하기 437
간단한 플룸 사용 예 438
플룸으로 데이터를 HDFS로 이동하기 440
더 복잡한 플룸 사용 사례 441
▶ 카프카를 이용해 데이터 처리하기 444
카프카가 제공하는 이점들 445
카프카 동작 방식 446
카프카 클러스터 설정하기 447
하둡과 스톰을 사용해 카프카와 통합하기 451
▶ 요약 454

Chapter 13. 하둡 클러스터의 리소스 할당 455
▶ 하둡에서 리소스 할당 456
클러스터의 작업량 관리하기 456
하둡의 리소스 스케줄러 457
▶ FIFO 스케줄러 459
▶ Capacity 스케줄러 459
큐와 서브 큐 461
클러스터가 리소스를 할당하는 방법 467
애플리케이션 선점하기 470
Capacity 스케줄러 활성화하기 471
전형적인 Capacity 스케줄러 471
▶ Fair 스케줄러 475
큐 477
Fair 스케줄러 설정하기 477
잡을 큐에 위치시키는 방법 480
Fair 스케줄러에서 애플리케이션 선점 481
보안과 리소스 풀 482
간단한 fair-scheduler.xml 파일 482
스케줄러에 잡 서밋하기 484
애플리케이션을 다른 큐로 이동하기 484
Fair 스케줄러 모니터링하기 484
▶ Capacity 스케줄러와 Fair 스케줄러 비교 485
두 스케줄러의 비슷한 점 485
두 스케줄러의 차이점 485
▶ 요약 486

Chapter 14. 우지(Oozie)로 잡 워크플로 관리하기 487
▶ 아파치 우지를 이용해 잡 스케줄링하기 488
▶ 우지의 아키텍처 489
우지 서버 490
우지 클라이언트 490
우지 데이터베이스 491
▶ 클러스터에 우지 설치하기 492
우지 설치와 설정하기 492
우지를 위한 하둡 설정 494
▶ 우지 워크플로 이해하기 497
워크플로, 컨트롤 플로 그리고 노드 497
workflow.xml 파일을 갖고 워크플로 정의하기 498
▶ 우지가 액션을 실행하는 방법 499
액션 노드 설정하기 500
▶ 우지 워크플로 생성하기 506
컨트롤 노드 설정하기 507
잡 설정하기 512
▶ 우지 워크플로 잡 실행하기 513
잡 프로퍼티 설정하기 514
우지 잡 배포하기 515
동적 워크플로 생성하기 515
▶ 우지 코디네이터 517
시간 기반 코디네이터 518
데이터 기반 코디네이터 520
시간과 데이터 기반 코디네이터 521
명령 행으로 우지 코디네이터 서밋하기 522
▶ 우지 관리하기 523
자주 사용하는 우지 명령과 실행 방법 524
우지 트러블슈팅 526
우지의 스케줄링 및 서비스 수준 527
▶ 요약 528

Chapter 15. 하둡의 보안 529
▶ 하둡 보안의 개요 530
인증, 인가 그리고 계정 532
▶ 커버로스로 하둡 인증하기 534
커버로스와 동작 원리 534
커버로스 인증 프로세스 536
커버로스 트러스트 537
특별 프린시플 537
클러스터에 커버로스 인증 추가하기 538
하둡을 위한 커버로스 설정하기 543
커버로스를 사용해 하둡 클러스터 보호하기 548
커버로스가 사용자와 서비스를 인증하는 방법 554
커버로스를 사용하는 하둡 클러스터 관리하기 555
▶ 하둡 인가 559
HDFS 퍼미션 559
서비스 레벨 인가 564
아파치 센트리를 이용한 룰 기반 인가 방식 567
▶ 하둡 감시하기 573
HDFS 오퍼레이션 감시 574
YARN 오퍼레이션 감시 574
▶ 하둡 데이터 안전하게 보관하기 575
HDFS 트랜스패런트 암호화 576
데이터 전송 시 암호화 579
▶ 기타 하둡의 보안과 관련 프로젝트들 580
녹스 게이트웨이로 하둡 인프라 보안 강화하기 580
보안 관리를 위한 아파치 레인저 580
▶ 요약 581

PART Ⅴㆍ 모니터링, 최적화, 그리고 문제 해결 582
Chapter 16. 잡 관리하기, 휴 사용하기 그리고 반복 작업 수행하기 584
▶ YARN 명령을 이용해 하둡 잡 관리하기 585
얀 애플리케이션 보기 586
애플리케이션의 상태 확인하기 588
실행하고 있는 애플리케이션 중지하기 588
노드의 상태 확인하기 588
얀 큐 확인하기 589
애플리케이션 로그 가져오기 589
얀 관리를 위한 명령들 589
▶ 노드를 클러스터에서 빼거나 추가하기 591
클러스터 호스트를 포함시키거나 제외하기 592
데이터노드와 노드매니저 디커미션하기 593
노드를 리커미션하기 595
디커미션과 리커미션 과정에서 기억하고 있어야 할 것들 595
새로운 데이터노드와 노드매니저 추가하기 596
▶ 리소스매니저 고가용 설정(HA 설정) 597
리소스매니저의 고가용 아키텍처 597
리소스매니저 장애 극복(Failover) 599
리소스매니저 고가용(HA) 커맨드로 제어하기 601
▶ 일반적인 관리 작업 수행하기 602
네임노드를 다른 호스트로 이전하기 602
고가용(HA) 네임노드 관리하기 602
클러스터 관리를 위해 Sutdown/Startup 스크립트 사용하기 603
HDFS 밸런싱 603
데이터노드의 스토리지 균형 잡 메우기 604
▶ MySQL 데이터베이스 관리하기 605
MySQL 데이터베이스 설정하기 605
MySQL 고가용 설정하기 606
▶ 중요한 클러스터 데이터 백업하기 608
HDFS 메타데이터 백업하기 608
메타스토어 데이터베이스 백업하기 610
▶ 휴로 클러스터 관리하기 611
사용자에게 휴를 사용할 수 있도록 허용하기 611
휴 설치 612
휴를 사용할 수 있도록 클러스터 설정하기 614
휴와 연동하기 619
▶ 특별한 HDFS 기능 사용하기 620
멀티홈드 네트워크에 HDFS와 얀 설치하기 620
숏서킷 로컬 리드 621
마운터블 HDFS 623
NFS 게이트웨이를 이용해 HDFS를 로컬 파일 시스템에 마운트시키기 624
▶ 요약 626

Chapter 17. 모니터링, 지표, 그리고 하둡 로깅 627
▶ 리눅스 서버 모니터링하기 628
리눅스 시스템 모니터링의 기초 628
리눅스 시스템의 모니터링 툴 630
▶ 하둡의 평가 지표 634
하둡 지표 종류 635
하둡 지표 이용하기 636
파일 시스템의 지표 수집하기 636
▶ 갱글리아를 이용한 모니터링 638
갱글리아 아키텍처 638
갱글리아와 하둡 통합 설정하기 639
하둡 지표 설정하기 641
▶ 하둡 로깅 이해하기 642
하둡 로그 메시지 642
데몬과 애플리케이션의 로그 그리고 로그를 보는 방법 643
애플리케이션 로깅 동작 방식 644
노드매니저 로그디렉토리에 저장되는 것들 645
하둡이 잡을 실행할 때 HDFS 스테이징 디렉토리와 로컬 디렉토리를 얻는 방법 646
로그 어그리게이션을 통해 잡 로그를 HDFS에 저장하기 652
하둡 데몬 로그 다루기 657
▶ 하둡 웹 UI로 모니터링하기 659
리소스매니저 웹 UI로 잡 모니터링하기 661
잡히스토리서버 웹 UI 665
네임노드 웹 UI를 이용한 모니터링 668
▶ 하둡 컴포넌트 모니터링 669
하이브 모니터링하기 669
스파크 모니터링하기 670
▶ 요약 670

Chapter 18. 클러스터 리소스 튜닝, 맵리듀스 최적화 그리고 벤치마킹 671
▶ 얀 메모리와 CPU를 할당하는 방법 672
메모리 할당하기 672
CPU 코어 배정 설정하기 681
메모리와 CPU 가상 코어의 관계 682
▶ 효율적인 성능을 위한 설정 682
투기적 실행(Speculative Execution) 682
시스템의 I/O 로드 줄이기 685
▶ 맵과 리듀스 태스크 튜닝하기 - 관리자로서 할 수 있는 것 686
맵 태스크 튜닝하기 687
입력과 출력 688
리듀스 태스크 튜닝하기 691
맵리듀스 셔플 프로세스 튜닝하기 693
▶ 피그와 하이브 잡 최적화하기 696
하이브 잡 최적화 696
피그 잡 최적화하기 698
▶ 클러스터 벤치마킹 699
TestDFSIO를 사용해 I/O 성능 테스트하기 700
테라소트를 이용한 성능 측정 702
▶ 하둡 카운터 708
파일 시스템 카운터 710
잡 카운터 710
맵리듀스 프레임워크 카운터 711
커스텀 자바 카운터 712
카운터에 한계 정하기 713
▶ 맵리듀스 최적화하기 713
맵만 있는 잡과 맵과 리듀스가 있는 잡 713
컴바이너로 맵리듀스 성능을 높이는 방법 714
파티셔너를 이용해 성능 높이기 715
맵리듀스 프로세스 중에 데이터 압축하기 716
너무 많은 맵퍼 또는 리듀서를 사용한다면? 716
▶ 요약 719

Chapter 19.아파치 스파크 설치 및 튜닝 721
▶ 얀 위에서 동작하는 스파크를 위한 리소스 할당 설정하기 722
CPU 할당하기 722
메모리 할당하기 722
▶ 리소스가 스파크에 어떻게 할당되는가? 723
스파크 애플리케이션 리소스 할당 제한하기 724
드라이버에 리소스 할당하기 725
익스큐터에 대한 리소스 설정하기 729
스파크가 메모리를 사용하는 방법 732
기억해야 할 것들 735
클러스터 모드 또는 클라이언트 모드 737
스파크의 네트워크 매개변수 설정하기 739
▶ 얀에서 스파크 실행 시 동적 리소스 할당하기 739
동적 리소스 할당과 정적 리소스 할당 739
스파크가 동적 리소스 할당을 하는 방법 740
동적 리소스 할당 활성화하기 740
▶ 저장 포맷과 데이터 압축하기 742
저장 포맷 742
파일 사이즈 744
압축 744
▶ 스파크 애플리케이션 모니터링하기 745
스파크 웹 UI를 이용해 성능 알아보기 745
스파크 시스템과 지표 REST API 748
얀에서 동작하는 스파크 히스토리 서버 748
명령 행으로 잡 추적하기 750
▶ 가비지 컬렉션 튜닝 750
가비지 컬렉션의 동작 751
GC 통계 정보를 수집하는 방법 752
▶ 스파크 스트리밍 애플리케이션 752
배치 프로세싱 시간 줄이기 752
올바른 배치 간격(Batch Interval) 설정하기 753
메모리 및 가비지 컬렉션(GC) 튜닝 753
▶ 요약 754

Chapter 20. 스파크 애플리케이션 최적화하기 755
▶ 스파크 실행 모델 다시 보기 756
스파크 실행 모델 756
▶ 셔플 오퍼레이션과 셔플을 최소화하는 방법 758
WordCount 예제 다시 보기 759
셔플 오퍼레이션의 영향 760
셔플 매개변수 설정하기 761
▶ 파티셔닝과 병렬성(태스크의 수) 768
병렬 처리 정도 768
너무 적은 태스크 문제 771
파티션 수의 기본값 설정하기 771
파티션의 수를 증가시키는 방법 772
RDD의 파티션 수를 바꾸기 위해 Repartition과 Coalesce 오퍼레이션을 사용하라. 773
두 가지 타입의 파티셔너 774
데이터 파티셔닝 그리고 셔플을 막을 수 있는 방법 775
▶ 데이터 직렬화 및 압축의 최적화 775
데이터 직렬화 775
압축 설정하기 776
▶ 스파크의 SQL Query 옵티마이저 이해하기 777
옵티마이저 단계 이해하기 778
스파크의 투기적 실행 기능 779
데이터 지역화의 중요성 780
▶ 데이터 캐시하기 782
캐시를 통한 장애허용(Fault-Tolerance) 783
캐시를 설정하는 방법 784
▶ 요약 789

Chapter 21. 하둡 문제 해결 790
▶ 저장 용량 관련 이슈들 791
100%로 가득 차 있는 리눅스 파일 시스템 사용하기 792
HDFS 용량 문제 792
local과 log 디렉토리에 여유 공간이 없을 때 793
디스크 볼륨 문제에 대한 대응 794
▶ 얀의 멈춘 잡 처리하기 796
▶ JVM 메모리 할당과 가비지 컬렉션 전략 797
JVM 가비지 컬렉션 이해하기 797
가비지 컬렉션 최적화하기 799
메모리 사용량 분석하기 799
메모리 부족 에러(OOM) 800
애플리케이션마스터 메모리 이슈들 801
▶ 실패 종류에 따른 처리 802
데몬 실패 처리하기 803
하둡 데몬의 실행 문제 803
태스크와 잡 실패 804
▶ 스파크 잡 문제 해결하기 806
스파크의 장애 허용 메커니즘 806
스파크 잡 죽이기 806
잡에 대한 재시도 최댓값 806
잡당 최대 실패 횟수 807
▶ 스파크 애플리케이션 디버깅 807
로그 어그리게이션으로 로그 보기 807
로그 어그리게이션이 비활성화돼 있을 때 로그 보기 808
실행 환경 다시 보기 808
▶ 요약 808
부록 A 버추얼박스 및 리눅스 설치 그리고 가상 머신 복사하기 809
▶ 오라클 버추얼박스 설치하기 810
▶ 오라클 엔터프라이즈 리눅스 설치하기 811
▶ 리눅스 서버 복제하기 811

색인 813

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 1800-7327
교환/반품주소
  • 경기도 파주시 문발로 211 1층 / (주)북채널 / 전화 : 1800-7327
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.