Data Engineering/HDFS

[Flume] 아파치 플럼( Flume ) 스터디

쟈누이 2021. 6. 11. 11:48
반응형

 

1. 아파치 플럼이란?


 

  • 오픈 소스 프로젝트로 개발된 로그 데이터 수집 기술
  • 여러 서버에 산재해 있는 로그들을 하나의 로그 수집서버로 효과적으로 수집
  • 스트리밍 지향의 데이터 플로우를 기반
  • 로그를 수집하여 중앙 저장소에 적재하여 분석하는 시스템 구축할 때 적합
  • 단순하고 유연한 구조로 다양한 유형의 스트리밍 데이터 플로우 아키텍처 구성 가능
  • Flume 사용으로 신뢰성, 규모 확장성 및 기능확장성 확보 가능
  • 장애시에도 수집된 로그 유실을 방지 가능
  • Scale-up / Scale-out 방식의 확장을 모두 지원
  • 새로운 기능을 쉽게 커스터마이징 할 수 있음

 

 

 

2. 플럼의 구성요소


1) 소스(Source)

  • 외부 데이터 소스에 설치되는 에이전트
  • 다양한 원천 시스템의 데이터를 수집하기 위해 Avro, Thrift, JMS, Spool Dir, Kafka 등 여러 
  • 주요 컴포넌트를 제공
  • 수집한 데이터를 Channel 로 전달
  • 하나 이상의 채널로 데이터 전달 가능
  • 이벤트를 받아 입력된 정보를 sink 로 전달

 

 

2) 싱크(Sink)

  • 데이터 목적지에 설치되는 에이전트
  • 수집데이터를 Channel 로부터 전달받아 최종 목적지에 저장하기 위한 기능
  • 채널로 부터 source 가 전달한 event 정보를 하둡에 저장하거나 agent  또는 db로 전달
  • HDFS, Hive, Logger, Avro, ElasticSearch, Thrift 등을 제공

 

 

3) 채널(Channel)

  • 소스와 싱크간 데이터를 받는 통로
  • 소스와 싱크를 연결, 데이터를 버퍼링하는 컴포넌트
  • 메모리, 파일, 데이터베이스 채널의 저장소로 주로 활용 
  • 장애에 대비하기 위한 중간 채널 제공
  • source는 채널에 이벤트 정보를 저장하 sink 는 채널로부터 정보를 전달받아 처리

 

 

 

3. Flume 의 특징


  • 시스템 신뢰성 (Reliability) : 장애가 발생시 로그의 유실없이 전송할 수 있는 기능
  • 시스템 확장성 (Scalability) : Agent 의 추가 및 제거가 용이
  • 관리 용이성 (Manageability) : 간결한 구조로 관리가 용이
  • 기능 확장성 (Extensibility) : 새로운 기능을 쉽게 추가할 수 있음

 

 

 

 

 

4. 플럼의 연결 모드


1) 1소스 / 1채널  1싱크

 

  • 가장 단순한 구성
  • 원천 데이터를 특별한 처리 없이 단순/수집/적재할대 사용

 

 

 

2) 멀티 에이전트 플로우 (Multi Agent Flow)

  • 원천 데이터 수집시, Intercepter 추가해 데이터 가공,
  • 데이터의 특성에 따라 Channel 에서 다수의 sink 컴포넌트로 라우팅이 필요

 

 

3) Consolidation

  • 여러 소스에서 전달된 이벤트를 각 에이전트가 받아서 하나의 에이전트가 통합하여 저장

 

 

 

5. 참고 링크


https://www.nextree.co.kr/p2704/

 

빅데이터: 플럼(Flume) 토폴로지 설계

1. About Flume플럼은 인공수로, 용수로 등의 사전적 의미를 가진다. 여러 서비스 제공 서버에 산재해 있는 로그들을 하나의 로그 수집서버로 모으는 역활을 수행해야하는 수집기로서 어울리는 이

www.nextree.co.kr

http://taewan.kim/post/flume_images/

 

오픈소스 작명 센스: 아파치 플룸(Apache Flume)

apache fluem은 스트리밍 데이터 플로우를 만드는 오픈소스 프로젝트입니다. 아이치 플름은 기술을 이름으로 가장 잘 표현한 대표적인 사례입니다. 아파치 플름이 의미하는 바를 소개합니다.

taewan.kim

https://118k.tistory.com/837

 

[flume] 플룸 구조, 특징

로그 수집 단계에서 이용하는 아파치 플룸(Flume)에 대해서 알아보겠습니다. 아파치 플룸(Flume) 클라우데라에서 개발하여 공개한 데이터 수집을 위한 오픈 소스 대량의 로그 데이터를 여러 소스에

118k.tistory.com

 

반응형