Top

아파치 Flume 따라잡기 [하둡 기반 분산 로그 수집과 스트림 데이터 처리를 위한]

  • 원서명Apache Flume: Distributed Log Collection for Hadoop (ISBN 9781784392178)
  • 지은이스티브 호프만(Steve Hoffman)
  • 옮긴이이두식
  • ISBN : 9788960777521
  • 15,000원
  • 2015년 08월 28일 펴냄
  • 페이퍼백 | 140쪽 | 188*235mm
  • 시리즈 : acorn+PACKT, 오픈소스 프로그래밍

책 소개

요약

플룸(Flume)은 하둡(Hadoop) 기반의 로그 데이터 수집을 위해 아파치 재단에서 개발한 오픈소스 소프트웨어 엔진이다. 특히 로그 성격의 다양한 데이터를 병렬적으로 분산처리하면서 수집할 수 있는 강력한 기능을 가지고 있으며, 다양한 장비로그, 서버로그, 센서로그, IoT로그 등을 수집해 하둡에 저장할 수 있는, 하둡과 연동 가능한 대표적인 수집 소프트웨어 기술이다. 하둡 기반의 로그 데이터 수집에 대한 내용을 설명한 이 책은 빅데이터 시스템 개발자들에게 큰 도움이 될 것이다.

이 책에서 다루는 내용

■ 플룸 아키텍처 이해
■ 아파치로부터 오픈소스 플룸 다운로드와 설치
■ 메모리 또는 파일 기반 채널을 사용할 때 차이점 발견
■ 하둡 파일시스템(HDFS) 싱크 설정과 이해
■ 유동성이 많은 데이터 플로우를 만들기 위한 싱크 그룹 사용 방법
■ 데이터 수집을 위한 다양한 소스들에 대한 설정과 사용
■ 유효한 탑재량 기준으로 콘텐츠를 다른 목적지 대상에 대해서 데이터 기록과 경로에 대한 검사
■ 하둡에 대해 경로 중간에 데이터 변환
■ 사용자 데이터 흐름을 모니터

이 책의 대상 독자

이 책은 시간 내에 신뢰성을 가진 방법으로 하둡 안에 데이터셋을 이동시키기 위한 책임을 보유한 사람들을 위해 쓰여졌다. 주로 소프트웨어 엔지니어, 데이터베이스 관리자, 데이터 웨어하우스 관리자 등을 위한 책이다.

이 책의 구성

1장, ‘개요와 아키텍처’에서는 플룸을 소개하고 플룸으로 작업을 시도할 때 발생하는 문제 영역을 설명한다(특히 하둡에 대해). 다양한 컴포넌트들로 구성된 아키텍처 개요는 이후 단원에서 자세히 다룬다.

2장, ‘플룸 시작하기’에서는 플룸을 빠르게 실행해볼 수 있는 내용을 제공한다. 플룸 다운로드 방법, “Hello World” 설정을 생성하고 실행하는 방법을 설명한다.

3장, ‘채널’에서는 대부분의 사람들이 사용하게 되는 2개의 주요 채널에 대해 다룬다. 그리고 각각에 대한 설정 옵션을 설명한다.

4장, ‘싱크와 싱크 프로세서’에서는 플룸 출력으로 HDFS를 사용하는 상세한 내용을 다룬다. 압축 옵션 그리고 데이터 포맷팅을 위한 옵션을 포함한다. 또한 장애복구(failover) 옵션을 통해서 더욱 강력한 데이터 파이프라인을 만들기 위한 내용을 알아본다.

5장, ‘소스와 채널 셀렉터’에서는 플룸 입력 메커니즘의 여러 가지 방법 설정과 옵션을 소개한다. 데이터 내용에 따라 채널 간에 다르게 스위칭하는 것을 다루고 복잡한 데이터 흐름을 어떻게 만들 수 있는지 알아본다.

6장, ‘인터셉터, ETL, 라우팅’에서는 라우팅 결정을 내릴 채널 셀렉터를 사용하기 위해서 유효 탑재량(payload)으로부터 정보를 추출하고, 수행중인 데이터를 어떻게 변환할지를 설명한다. Avro 직렬화(serialization)를 사용하는 플룸 에이전트 계층화 방법뿐만 아니라 수동적으로 데이터를 입력하고 독립적인 Avro 클라이언트 테스트를 위한 플룸 커맨드라인에 대해서 알아본다.

7장, ‘플룸 모니터링’에서는 모닛(Monit), 나기오스(Nagios), 갱글리아(Ganglia), 사용자정의 후크(hook)를 비롯한 플룸의 내부와 외부 모두에서 모니터링 가능한 다양한 옵션들에 대해 설명한다.

8장, ‘실시간 분산 데이터 수집의 현실’에서는 플룸 구성과 사용 범위를 벗어나는 여러 가지 고려사항들을 알아본다.

저자/역자 소개

지은이의 말

하둡은 구조화되지 않은 많은 데이터를 관리 가능하게 만드는 훌륭한 오픈소스 도구다. 이는 비즈니스 안에서 고객과 고객의 요구에 통찰을 줄 수 있게 만든다. 데이터 센터에 공간과 전력이 충분하다면, 하둡은 저렴한 비용으로(대부분 무료로 사용 가능하다.) 수평적으로 확장할 수 있으며, 전통적인 데이터 웨어하우스가 처리하던 문제를 해결할 수 있다. 알려진 작은 비밀이 하나 있는데, 하둡 클러스터는 데이터로만 공급되는 형태를 요구하는 반면, 발열이 발생하는 비싼 대가를 치러야 한다. 하둡을 가지고 노는 수준의 단계를 지나게 되면 하둡 클러스터에 데이터를 자동적으로 공급하는 도구의 필요성을 깨닫게 되고 방법을 빨리 찾으려 한다. 과거에는 이 문제에 대한 해결책이 중요했다. 그러나 더 이상은 아니다. 클라우데라(Cloudera)의 통합 엔지니어들은 자사 고객에게 자동적으로 데이터가 입력되도록 반복적으로 계속 툴에서 기록을 하도록 유지해야 하는 상황이었다. 당시 플룸은 클라우데라 외부에서 프로젝트를 시작하고 있었다. 최근에는 아파치 재단에서 플룸 프로젝트 진행과 개발이 계속 이어지고 있으며 수년간 아파치 운영환경상에서 이용하는 사용자들을 늘려나가고 있다.
이 책에서 설명하는 플룸의 아키텍처 개요와 빠른 시작 가이드를 통해 플룸을 신속하게 실행해 볼 수 있기를 바란다. 플룸의 많은 유용한 컴포넌트들에 대해서도 상세하고 깊게 다룰 것이다. 데이터 기록을 계속적으로 수행하는 매우 중요한 영구적인 파일 채널 그리고 HDFS(Hadoop Distributed File System)에 데이터를 기록하고 버퍼링하는 HDFS 싱크에 대한 내용도 설명한다. 플룸에는 다양한 모듈들이 포함되어 있기 때문에 시작에 필요한 유일한 도구는 설정 파일을 위한 텍스트 편집기뿐이다.
책의 후반부에서는 고가용성(High availability), 장애처리(Fault Tolerant), 하둡 클러스터에 데이터를 피딩하기 위한 스트리밍 데이터 파이프라인에 대한 방법을 충분히 설명한다.

지은이 소개

스티브 호프만(Steve Hoffman)

30년간 소프트웨어 개발을 해왔으며, 일리노이 대학교 어바나 샴페인(University of Illinois Urbana-Champaign)에서 컴퓨터 엔지니어링 학사학위를 취득하고 드폴(DePaul) 대학교에서 컴퓨터과학 석사학위를 마쳤다. 현재 오르비츠 월드와이드(Orbitz Worldwide)에서 프린시플 엔지니어(Principal Engineer)로 일하고 있다. 스티브에 대해 더 많은 정보를 원한다면 http://bit.ly/bacoboy 또는 트위터 @bacoboy를 참조하기 바란다. 이 책은 스티브의 첫 번째 저서다.

옮긴이의 말

최근 빅데이터 기술은 급속하게 발전하고 있는 분야입니다. 과거에는 현재의 빅데이터 시스템 구축을 위해서는 많은 소프트웨어 자원, 하드웨어 자원, 개발 리소스를 투입해야만 가능했지만, 현재는 빅데이터 기술이 오픈소스 주도로 발전하고 있습티다. 일례로, 마이크로소프트, IBM, HP, 오라클과 같은 글로벌 기업들이 기술을 주도하던 경향에서 벗어나, 아파치 재단에서 만들고 있는 하둡을 중심으로 한 에코시스템 하에서 수많은 오픈소스들이 빅데이터 관련 기술을 주도하고 있습니다. 그래서 오늘날 플룸, 스쿱(Sqoop), 우지(Oozie), 하이브, 임팔라(Impala), R, D3.js, Node.js, 머하웃(Mahout), HBase 등 하둡 기반 오픈소스들이 수없이 쏟아져 나오고 있습니다.
비영리 재단에서 만들어지고 있는 이러한 오픈소스 엔진들은 기존에 글로벌 회사들이 만들던 소프트웨어 못지않은 강력한 기능을 구현하고 있습니다. 실제로 아파치 재단의 경우, 글로벌 기업들이 스폰싱을 하고 스폰싱된 자금으로 오픈소스 개발이 이뤄져 누구나 사용할 수 있게 합니다. 동시에 스폰싱을 한 글로벌 기업들도 자신들의 제품 개발을 위해 오픈소스를 활용하고 있습니다. 즉 이러한 오픈소스 기술이 이제 개인이나 작은 벤처 기업들도 쉽게 활용할 수있는 시대가 열린 것입니다.
플룸은 빅데이터 기술 중에서도 매우 중요한 위치를 점한 기술 분야입니다. 빅데이터 처리를 위해서는 수집 데이터를 조사하고 데이터를 대용량 분산처리 방식으로 안정적으로 수집을 해야만 이후에 하둡에 저장할 수 있으며 저장된 빅데이터는 이후에 검색엔진, 분석엔진, 시각화 엔진을 활용하여 전체적인 빅데이터 시스템을 완성할 수 있습니다. 전체 빅데이터 시스템 중에서 데이터 수집처리를 위해서는 플룸이 매우 중요한 역할을 담당하게 됩니다. 특히 플룸은 장비에서 발생되는 Syslog 형태의 데이터와 최근 급부상하고 있는 센서 및 IoT 데이터 수집에도 매우 적합한 기술로 사용할 수 있습니다. 플룸은 완제품이기도 하지만, 플룸을 이용하면 다양한 아키텍처를 구성하고 추가적인 기술 개발을 통해 플룸과 연동된 더욱 발전된 수집 엔진으로 만들어낼 수도 있습니다. 이 책은 플룸을 이해할 수 있는 기초적인 내용을 모두 담고 있습니다. 빅데이터 관련 기술 개발을 하는 모든 개발자들에게 작으나마 도움이 될 수 있는 책이 되기를 희망합니다.

옮긴이 소개

이두식

고려대학교에서 미디어공학 석사학위를 취득했다. 1995년부터 2000년까지 마이크로소프트 사에서 개발툴엔지니어 및 컨설턴트로 근무했고, 2000년도에는 옥션 신시스템 구축 PM 및 시스템 운영팀장을 역임하며 대용량 서비스 구축 경험을 했다. 2001년부터 PDA/게임/이러닝 등 벤처회사에서 다양한 개발 작업을 하다가 2008년에 NHN로 옮겨 지식iN, 메일 서비스 등 대용량 서비스를 구축하는 프로젝트 매니저로 일했다. 2010년에 KTB투자증권 신사업본부에서 소셜서비스를 개발하면서 하둡 및 관련 에코시스템 개발 경험을 쌓아 2014년 ㈜아임클라우드를 창업했다. 현재는 하둡, 스쿱, 플룸, 하이브, HBase, 일래스틱 서버 등 빅데이터 관련 소프트웨어 솔루션을 개발하는 회사를 운영하고 있다. 최근에 국내 대기업과 공공기관에 빅데이터 관련 솔루션을 개발하면서 하둡과 플룸 같은 오픈소스와 관련된 일에 집중하고 있다.

목차

목차
  • 1 개요와 아키텍처
    • 플룸 0.9
    • 플룸 1.X(Flume-NG)
    • HDFS와 스트리밍 데이터/로그 문제
    • 소스, 채널, 싱크
    • 플룸 이벤트
      • 인터셉터, 채널 셀렉터, 싱크 프로세서
      • 단계별 데이터 수집(다중 플로우 에이전트)
    • 요약

  • 2 플룸 퀵 스타트
    • 플룸 다운로드
      • 하둡 배포판 플룸
    • 플룸 설정파일 개요
    • "Hello World"로 시작하기
    • 요약

  • 3 채널
    • 메모리 채널
    • 파일 채널
    • 요약

  • 4 싱크와 싱크 프로세서
    • HDFS 싱크
      • 경로와 파일이름
      • 파일 로테이션
    • 압축 코덱
    • 이벤트 시리얼라이저
      • 텍스트 출력
      • 텍스트 헤더
      • 아파치 Avro
      • 파일 형식
        • 시퀀스 파일
        • 데이터 스트림
        • 압축 스트림
      • 타임아웃과 워커
    • 싱크그룹
      • 로드밸런싱
      • 장애조치
    • 요약

  • 5 소스와 채널 셀렉터
    • 테일 사용의 문제점
    • exec 소스
    • 스풀링 디렉토리 소스
    • Syslog 소스
      • Syslog UDP 소스
      • Syslog TCP 소스
      • 멀티포트 syslog TCP 소스
    • 채널 셀렉터
      • 리플리케이팅
      • 멀티플렉싱
    • 요약

  • 6 인터셉터, ETL, 라우팅
    • 인터셉터
      • 타임스탬프
      • 호스트
      • 스태틱
      • 정규식 필터링
      • 정규식 추출기
      • 커스텀 인터셉터
    • 티어링 데이터 플로우
      • Avro 소스/싱크
      • 커맨드라인 Avro
      • Log4J 어펜더
      • 로드밸런싱 Log4J 어펜더
    • 라우팅
    • 요약

  • 7 플룸 모니터링
    • 에이전트 프로세스 모니터링
      • 모닛
      • 나기오스
    • 성능 메트릭스 모니터링
      • 갱글리아
      • 내부 HTTP 서버
      • 커스텀 모니터링 후크
    • 요약

  • 8 실시간 분산 데이터 수집의 현실
    • 전송시간 vs 로그시간
    • 타임 존 재앙
    • 용량 계획
    • 복수 데이터센터를 위한 고려사항
    • 규정 준수와 데이터 만료
    • 요약

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안