메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

Hadoop 완벽 가이드 : 클라우드 컴퓨팅 구축을 위한 실전 안내서

  • 저자 : 톰 화잇(Tom White)
  • 번역 : 심탁길 , 김우현
  • 출간 : 2010-05-20
  • 페이지 : 616 쪽
  • ISBN : 9788979147469
  • 물류코드 :1746
TAG :
초급 초중급 중급 중고급 고급
4점 (1명)
좋아요 : 17
하둡을 통해 데이터에 대한 생각을 전환하라!

500기가바이트를 59초 만에, 100테라바이트를 단 173분 만에 정렬하는 등 하둡은 데이터 분석에 대하여 상상초월의 성능을 제공한다. 구글의 알고리즘을 구현한 하둡은 맵리듀스 기법을 통해 데이터에 대한 생각의 방식을 변화시키고, 이전에 보존시켜 두었던 그 어떤 데이터든지 활용할 수 있게 한다. 전에는 너무 오래 걸려 결과를 얻을 수 없었던 문제도 이제는 그 해답을 빠르게 얻을 수 있게 되었고, 이를 통해 새로운 통찰력도 얻을 수 있게 되었다.

하둡, 클라우드 컴퓨팅의 역사를 바꾸다!
  • 2008년 2월 - 뉴욕타임스는 1851년부터 1980년 12월까지 약 130년 분량의 신문기사 1,100만 매를 "아마존 S3"에 저장하고, 하둡을 이용하여 약 4테라바이트 크기의 데이터를 24시간 만에 변환했다. 이는, 일반적인 서버로는 약 14년이 걸리는 어마어마한 작업량이다.

  • 2008년 4월 - 하둡은 "맵리듀스로 테라바이트 데이터 정렬하기" 대회에서 전년도 우승자의 297초에 비해 단 3½ 분 수준인 209초만에 정렬하며 우승했다. 이어 2009년 5월, 야후는 하둡을 사용하여 62초 만에 1테라바이트 정렬했다.

  • 2009년 4월 - "1분 소트" 대회에서 500기가바이트를 59초에(1,400개 노드에서) 정렬하며 우승했다. 또한 100테라바이트를 173분에(3,400개 노드에서) 정렬했다.
대용량 데이터라는 주제에 관해 가장 완벽한 책!

이 책은 하둡 프로젝트의 커미터이자 핵심 설계자인 톰 화잇이 저술하였고, 하둡이라는 주제를 가장 완벽하게 다루었다. 하둡의 개념과 사용법은 물론 Last.fm, 페이스북, 랙페이스의 하둡 활용 사례를 통해 어떻게 하둡을 활용해야 하는지를 배울 수 있다.
  • 대규모 데이터셋 저장을 위해 하둡 분산파일시스템(HDFS)
  • 맵리듀스를 통한 분산 연산 작업
  • 데이터 압축, 데이터 정합성, 직렬화, 영속성을 위한 입/출력 빌딩 블록
  • 실전 맵리듀스 프로그램 유의점
  • 전용 하둡 클러스터를 설계, 구축, 운영 방법
  • 클라우드 기반의 하둡 운용
  • 대규모 데이터 처리를 위한 피그
  • 구조화된 데이터와 반-구조화된 데이터를 처리를 한 HBase
  • 분산 시스템을 구축을 위한 주키퍼
하둡 창시자의 추천사

하둡(Hadoop)은 너치(Nutch, 오픈 소스 검색 엔진)에서 시작되었다. 우리 중 일부는 오픈 소스 웹 검색 엔진(open source web search engine)을 구축하려고 시도했는데, 소수 컴퓨터에서 연산할 때조차 문제가 발생했다. 그 해법은 구글(Google)이 GFS와 맵리듀스(MapReduce)에 관한 문서를 공개하는 즉시 명확해졌다. 구글은 너치의 문제를 정확히 해결할 만한 시스템을 고안해 냈다. 그래서 개발 도중에 우리 중 두 명은 이 시스템을 너치의 일부로서 다시 구성하기 시작했다.

우리는 20대의 컴퓨터에서 너치가 힘을 발휘하지 못하는 문제를 그럭저럭 해결해 나갔지만, 곧이어 대규모 웹 문제를 위해서는 수천 대의 컴퓨터에서 운용할 필요가 있다고 판단하였고, 두 명의 개발자가 다루기에는 훨씬 더 큰 문제임이 분명해 졌다.

그 무렵, 야후(Yahoo!)에서는 이에 대해 흥미를 느끼고 있었고, 재빨리 내가 속한 팀을 합류시켰다. 그 후, 우리는 너치의 분산 처리 파트로부터 분리되었고, 그것을 하둡이라 칭하였다. 야후의 도움으로, 하둡은 곧 진정으로 웹에 적용할 만한 기술로 성장했다.

2006년 들어, 톰 화잇이 하둡에 공헌하기 시작했다. 나는 이미 그가 썼던 너치에 관한 훌륭한 기사를 통해 그를 알고 있었기 때문에 복잡한 아이디어를 명료한 글로 제시해 줄 것이라 여겼다. 나는 머지 않아 그가 그의 글을 읽는 만큼의 즐거움을 주는 소프트웨어도 또한 개발할 수 있으리라는 것을 알았다.

시작부터, 하둡에 대한 톰의 공헌은 사용자들과 프로젝트에 대한 관심 정도를 보여주었다. 대다수 오픈 소스 공헌자와는 달리, 그는 자신의 요구를 더 충족시키도록 시스템을 비트는 데에 그다지 관심을 두지 않았고, 오히려 누군가 좀 더 쉽게 사용할 수 있도록 하는 데 관심을 두었다.

초기에, 톰은 아마존(Amazon)의 EC2와 S3 서비스에서 하둡이 잘 동작하도록 하는 전문적인 기술을 가지고 있었다. 그 후에 그는 수많은 문제와 씨름하였는데, 거기에는 맵리듀스 API를 향상, 웹사이트 강화, 객체 직렬화 프레임워크(object serialization framework) 고안 등이 포함되었다. 모든 면에 있어서, 자신의 아이디어를 정확히 제시해 주었다. 톰은 곧바로 하둡의 커밋터(소스 코드의 변경 권한자) 역할을 하게 되었고, 그 후에는 하둡 프로젝트 관리 위원회(Hadoop Project Management Committee)의 일원이 되었다.

톰은 현재 하둡 개발자 커뮤니티 내에서 존경받는 고위의 인물이다. 그는 프로젝트의 많은 기술 부분에 있어서 전문가이고, 그의 특별함이 하둡을 좀 더 사용하고 이해하기 쉽게 만들고 있다. 이러한 점 때문에, 톰이 하둡에 관한 책을 쓰려고 한다는 것을 알았을 때 매우 기뻤다. 누가 그보다 더 적합할 수 있을까? 이제 여러분은 기술뿐만 아니라 상식과 명료한 토크를 완벽하게 갖춘 이로부터 하둡에 관해 배울 기회를 맞이하였다.

-더그 커팅(Doug Cutting), 하둡 창시자, 야후

저자

톰 화잇

2007년 2월부터 아파치 하둡 커밋터(Apache Hadoop committer)가 되었고, 아파치 소프트웨어 재단(Apache Software Foundation)의 일원이 되었다. 그는 하둡에 대한 지원과 트레이닝을 제공하는 회사인 Cloudera에서 일하고 있다. 그전에는, 독립적인 하둡 고문으로서, 하둡을 설치, 사용, 확장하려는 회사와 일했었다. 그는 oreilly.com, java.net, IBM"s developerWorks에 수많은 글을 썼으며, 몇몇 컨퍼런스에서 하둡에 관한 연설했다. 톰은 캠브리지(Cambridge) 대학에서 문학 학사 학위를 취득하고, 영국 리즈(Leeds) 대학에서 과학 철학 분야의 문학 석사 학위를 취득하였다. 그는 현재 가족과 함께 웨일스 포이스(Wales의 Powys)에서 살고 있다.
역자

심탁길

삼성SDS, NHN, SK C&C 등에서 개발팀을 이끌며 클라우드 컴퓨팅 서비스 개발, 빅데이터 분석 등의 업무를 수행했다. 현재 틈틈이 야간에 시간을 내서 클라우드와 빅데이터 분야의 오픈소스 프로젝트를 준비 중이다.

역자

김우현

woorung@gmail.com
현재 KTH에서 클라우드컴퓨팅을 전담하고 있다. 대학원에서 분산컴퓨팅을 전공하였고, 다수의 회사에서 자연어처리, 정보검색, 데이터/텍스트 마이닝 관련 경험과 지식을 축적하였다. 최근에는 오픈소스 coord(http://www.coordguru.com)를 공개하여 분산기술과 정보기술의 다양한 접근을 시도하고 있다. <2009 공개SW공모대전>에서 "지식경제부 장관상"을 수상했으며, NHN, 삼성 SDS, SKC&C, KT 및 각종 컨퍼런스에서 하둡에 대해 강연했다.

역자서문
저자서문

1장 하둡과의 만남 
  1 데이터! 
  2 데이터 저장소와 분석 
  3 다른 시스템과의 비교 
    RDBMS 
    그리드 컴퓨팅 
    자발적 컴퓨팅(Volunteer Computing) 
  4 하둡의 역사 
  5 아파치 하둡 프로젝트 

2장 맵리듀스 
  1 기상 데이터셋 
    데이터 포맷 
  2 유닉스 도구로 데이터 분석하기 
  3 하둡으로 데이터 분석하기 
    맵과 리듀스 
    자바 맵리듀스 
  4 분산형으로 확장하기 
    데이터 흐름 
    컴바이너 함수 
    분산 맵리듀스 잡 실행하기 
  5 하둡 스트리밍 
    루비 
    파이썬 
    하둡 파이프 
    컴파일 및 실행 

3장 하둡 분산 파일시스템 
  1 HDFS 설계 
  2 HDFS 개념 
    블록 
    네임노드와 데이터노드 
  3 명령행 인터페이스 
    기본적인 파일시스템 연산 
  4 하둡 파일시스템 
    인터페이스 
  5 자바 인터페이스 
    하둡 URL로부터 데이터 읽기 
    파일시스템 API를 사용하여 데이터 읽기 
    데이터 쓰기 
    디렉터리 
    파일시스템에 질의하기 
    데이터 삭제 
  6 데이터 흐름 
    파일 읽기 해부 
    파일 쓰기 상세 
    일관성 모델 
  7 distcp 병렬 복사 
    HDFS 클러스터 균형 유지 
  8 하둡 아카이브 
    하둡 아카이브 사용하기 
    제약 사항 

4장 하둡 I/O 
  1 데이터 무결성 
    HDFS와 데이터 무결성 
    LocalFIleSystem 
    ChecksumFileSystem 
  2 압축 
    코덱 
    압축과 입력 분할 
    맵리듀스에서 압축 사용하기 
  3 직렬화 
    Writable 인터페이스 
    Writable 클래스 
    맞춤형 Writable을 구현하기 
    직렬화 프레임워크 
  4 파일 기반 데이터 구조 
    SequenceFile 
    MapFile 

5장 맵리듀스 프로그래밍 
  1 환경설정파일 API 
    리소스 결합하기 
    변수 확장 
  2 개발환경 설정하기 
    환경설정파일 관리하기 
    GenericOptionsParser, Tool, ToolRunner 
  3 유닛 테스트 작성하기 
    매퍼 
    리듀서 
  4 로컬에서 실행하기 
    로컬 잡 실행하기 
    드라이버 테스트하기 
  5 클러스터에서 실행하기
    패키징 
    잡 배포하기 
    맵리듀스 웹 UI 
    결과 얻기 
    잡 디버깅 
    원격 디버거 사용하기 
  6 잡 튜닝하기 
    태스크 프로파일하기 
  7 맵리듀스 작업 흐름 
    맵리듀스 잡으로 문제를 분해하기 
    종속적인 잡 실행 

6장 맵리듀스 작동 방법 
  1 맵리듀스 잡 실행 상세분석 
    잡 제출 
    잡 초기화 
    태스크 할당 
    태스크 실행 
    진행 상황과 상태 갱신 
    잡 완료 
  2 실패 
    태스크 실패 
    태스크트래커 실패 
    잡트래커 실패 
  3 잡 스케줄링 
    페어 스케줄러 
  4 셔플과 정렬 
    맵 과정 
    리듀스 관점 
    환경설정 튜닝 
  5 태스크 실행 
    투기적 실행 
    태스크 JVM 재사용 
    비정상 레코드 생략하기 
    태스크 실행 환경 

7장 맵리듀스 타입과 포맷 
  1 맵리듀스 타입 
    기본적인 맵리듀스 잡 
  2 입력 포맷 
    입력 스플릿과 레코드 
    텍스트 입력 
    바이너리 입력 
    다중 입력 
    데이터베이스 입력과 출력 
  3 출력 포맷 
    Text Output 
    바이너리 출력 
    Multiple Outputs 
    느린 출력 
    Database Output 

8장 맵리듀스 기능 
  1 카운터 
    내장 카운터 
    사용자 정의 자바 카운터 
    사용자 정의 스트리밍 카운터 
  2 정렬 
    준비 
    부분 정렬 
    전체 정렬 
    보조 정렬 
  3 조인 
    맵-사이드 조인 
    리듀스-사이드 조인 
  4 사이드 데이터 분배 
    잡 환경설정파일 사용 
    분산 캐시 
  5 맵리듀스 라이브러리 클래스 

9장 하둡 클러스터 설정 
  1 클러스터 명세 
    네트워크 위상 
  2 클러스터 설정 및 설치 
    자바 설치 
    하둡 사용자 생성 
    하둡 설치 
    설치 점검하기 
  3 SSH 설정 
  4 하둡 환경 설정 
    환경 설정 파일 관리 
    개발 환경 설정 
    중요한 하둡 데몬 속성 
    하둡 데몬 주소와 포트 번호 
    다른 하둡 속성들 
  5 설치 후 
  6 하둡 클러스터 벤치마킹 
    하둡 밴치마크 
    사용자 잡 
  7 하둡 클라우드 
    아마존 EC2의 하둡 

10장 하둡 관리 
  1 HDFS 
    영속적인 데이터 구조 
    안전모드 
    감사 로깅 
    도구 
  2 모니터링 
    로깅 
    매트릭스 
    자바 관리 익스텐션 
  3 관리 
    일상적인 관리 절차 
    노드 위임과 해제 
    업그레이드 

11장 피그 
  1 피그의 설치 및 실행 
    실행 유형 
    피그 프로그램 실행 
    그런트 
    피그 라틴 편집기 
  2 예제 
    예제 생성 
  3 데이터베이스와 비교 
  4 피그 라틴 
    구조 
    문장 
    표현 
    타입 
    스키마
    함수 
  5 사용자 정의 함수 
    필터 UDF 
    평가 UDF 
    로드 UDF 
  6 데이터 처리 연산자 
    데이터 로드 및 저장 
    데이터 필터링 
    데이터 분류 및 조인 
    데이터 정렬 
    데이터 결합 및 분리 
  7 실전 피그 사용 
    병렬 처리 
    파라미터 대체 

12장 HBase 
  1 HBasics 
    배경 
  2 개념 
    짧은 데이터 모델 여행 
    구현 
  3 설치 
    테스트 드라이브 
  4 클라이언트 
    자바 
    REST와 Thrift 
  5 예제 
    스키마 
    데이터 적재 
    웹 쿼리 
  6 HBase와 RDBMS 
    성공적인 서비스 
    HBase 
    사용 사례: streamy.com의 HBase 
  7 연습 
    버전 
    사랑과 증오: HBase와 HDFS 
    사용자 인터페이스 
    매트릭스 
    스키마 설계 

13장 주키퍼 
  1 주키퍼의 설치와 실행 
  2 예제 
    주키퍼를 이용한 그룹 멤버쉽 
    그룹 생성 
    그룹 가입 
    그룹 멤버 목록화 
    그룹 삭제 
  3 주키퍼 서비스 
    데이터 모델 
    연산 
    구현 
    일관성 
    세션 
  4 주키퍼로 응용프로그램 구현하기 
    환경 설정 서비스 
    탄력적인 주키퍼 응용프로그램 
    락 서비스 
    더 많은 분산 데이터 구조와 프로토콜들 
  5 주키퍼 실 서비스 
    탄력성과 성능 
    환경 설정 

14장 사례 연구 
  1 Last.fm의 하둡 사용 사례 
    Last.fm: 소셜 음악 혁명 
    Last.fm과 하둡 
    하둡으로 차트 생성하기 
    트랙 통계 프로그램 
    요약 
  2 페이스북의 하둡과 하이브 
    소개 
    페이스북과 하둡 
    가상의 사용 사례 연구 
    하이브 
    문제점과 향후의 작업 
  3 너치 검색 엔진 
    배경 
    데이터 구조 
    너치의 하둡 데이터 처리에 관한 선택 예제 
    요약 
  5 랙스페이스에서의 로그 처리 
    요구 사항/ 문제 
    간략한 역사 
    하둡 선택 
    수집과 저장소 
    로그에 대한 맵리듀스 
  6 캐스케이딩 
    필드, 튜플, 파이프 
    연산 
    탭, 스킴, 플로우 
    캐스케이딩의 실제 예제 
    유연성 
    쉐어디스에서의 하둡과 캐스케이딩 
    요약 
  7 아파치 하둡의 테라바이트 정렬 

부록A 아파치 하둡 설치하기 
  1 준비사항 
  2 설치 
  3 환경 설정 

부록B 클라우데라의 하둡 배포판 
  1 준비사항 
  2 독립 실행 모드 
  3 의사 분산 모드 
  4 완전 분산 모드 
  5 하둡 관련 패키지

부록C NCDC 기상 데이터의 준비

찾아보기

  • * 책의 구성
    하둡의 개념과 방대한 API에 대해서 여러 챕터로 나누어서 설명을 하고 있습니다. 각 챕터는 짤막하며 이론설명과 이를 구현하기 위한 API의 사용방법과 관련해 핵심구성요소에 대한 이해를 돕기 위해 예제를 포함해 설명하고 있습니다. 하둡 API의 활용방법을 마치 소설처럼 말로 풀어서 설명을 하고 있는 점이 참 독특했습니다. 또한 모든 외래어에 대해 윗첨자로 영문단어의 표기를 해서 각 단어의 의미를 정확히 파악할 수 있도록 구성을 한 점이 정말 인상적이었습니다. 한국어로만 표기하면 혼동의 여지가 많은데 영어단어로 옆에 표기가 되어 있어서 정확하게 이해할 수 있었습니다.
    번역체의 단점이라고 해야 할까요, 필체가 너무 번역스러운 점이 좀 아쉬웠습니다. 저자가 우리나라사람이 쓴 책이 아닌만큼 그 점은 감안해야 할 것 같습니다.
    번역본이 아닌 원서의 단점이라고 할까요, 소스코드의 실행과정이 너무 함축적인 점이 아쉬웠습니다. 실제 활용을 위해서는 상당한 연습이 필요할 것 같습니다. 그리고 모든 예제는 리눅스 명령행에서의 파이프 처리, 자바, 루비, 파이썬, C++으로의 예제 설명이 되어 있습니다. 오픈소스답게 모든실행과정이 리눅스인점이 윈도우 유저인 점에서는 정말 아쉬웠습니다. 즉, 책에 제시된 예제들의 실행방법은 리눅스 기준으로 기술되어 있고, 또한 리눅스에서만 완전하게 실행이 가능합니다. 윈도우즈 사용자들이 만약 윈도우에서 하둡의 API를 실행하고자 한다면, CgyWin의 설치와 함께 별도의 환경설정을 반드시 해주어야만 합니다. 이때 CgyWin등의 설치방법도 개별적으로 찾아야 합니다. 모든게 리눅스 환경에서 테스트 되었고, 이래서 오픈소스의 진정한 가치를 알고 싶으면 리눅스 기반에서 테스트하라는 말을 만들고 싶어졌습니다.

    * 책의 내용
    지금까지 고성능의 서버라면 처리속도도 당연히 빠르므로 한대의 서버만으로도 대용량의 데이터 처리를 할 수 있을것이라 생각했었습니다. 그러나 데이터가 수천만개에서 수십억개까지 증가한다면, 정말 RDBMS의 성능에만 의존할 수 있을까? 라는 의문이 들기 시작했습니다. 하둡의 개념은 거대한 데이터를 일정한 크기로 분할해 N개로 나누고 여러 컴퓨터에서 이들을 병렬로 처리한 다음 그 결과를 취합해서 사용자에게 제공하고자 하는 것입니다. 멀티쓰레딩에도 익숙치 않던 제게 멀티프로세싱도 아닌 엄청난 개수의 컴퓨터들 사이에서 데이터를 나누어 처리한다는 병렬처리방식은 지금까지의 고정관념을 완전히 바꾸어 놓고 있었습니다.
    평소 검색엔진 분야에 관심이 있던 저로서는 익숙한 명칭등을 접할 수 있었고 지금까지의 저장장치와 탐색기법의 변천사에 대해서도 알 수 있었습니다. 루씬, 너치, 하둡, 그리고 야후에서 하둡을 채택해 검색사이트를 구성한 배경까지도. 지역적으로 데이터를 분산시키고 이를 처리하는 방법이라든가 탐색을 위해 데이터를 병렬처리하는 방법에 대해서 항상 궁금했습니다. 하둡의 배경지식을 통해 일괄적인 직렬처리과정이 아닌 병렬처리과정을 배울 수 있었습니다.
    책 전반에 걸쳐서 분산컴퓨팅에 관련한 이론설명이 강조되어 있습니다. 이 분야에 관심이 있어서 배경지식이 있는 독자가 아니라면 네트워크 및 데이터통신과 관련된 어느정도의 지식을 알고 있어야 책의 내용을 이해하기가 쉬울 듯 합니다(어려운 용어 예시-네트워크 토폴로지).
    간혹 안드로이드 OS가 단말기의 성능을 100% 활용하지는 못한다는 말을 들은 적이 있습니다. 화려한 GUI로 사용자에게 편의성을 제공하는 것 뿐만 아니라 하드웨어를 제어하고 그 성능을 활용하는 것 또한 소프트웨어의 역할이기도 합니다. 이러한 사실에 대해 하둡은 어떤 강력한 하드웨어라도 충분히 활용할 수 있다는 것을 증명하고 있습니다.

    기타
    1쇄이어서 그런지 오자, 탈자가 많이 있습니다. 2쇄에서는 말끔하게 정리될 듯 합니다.

부록/예제소스
자료명 등록일 다운로드
DOWNLOAD 예제소스 2016-04-06 다운로드
결재하기
• 문화비 소득공제 가능
• 배송료 : 0원배송료란?

배송료 안내

  • 책, 아이템 등 상품을 3만원 이상 구매시 무료배송
  • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

무료배송 상품을 포함하여 주문하신 경우에는 구매금액에 관계없이 무료로 배송해 드립니다.

닫기

리뷰쓰기

닫기
* 도서명 :
Hadoop 완벽 가이드 : 클라우드 컴퓨팅 구축을 위한 실전 안내서
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
Hadoop 완벽 가이드 : 클라우드 컴퓨팅 구축을 위한 실전 안내서
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
Hadoop 완벽 가이드 : 클라우드 컴퓨팅 구축을 위한 실전 안내서
구입처*
구입일*
부가기호*
부가기호 안내

* 회원가입후 도서인증을 하시면 마일리지 500점을 드립니다.

* 한빛 웹사이트에서 구입한 도서는 자동 인증됩니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한됩니다.

* 절판도서, eBook 등 일부 도서는 도서인증이 제한됩니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?

자료실