아파치 플럼(Apache Flume)

Think_Positively·2021년 4월 22일
1
post-thumbnail

Flume 이란?

Flume은 빅데이터를 수집할 때 다양한 수집 요구사항들을 해결하기 위한 기능으로 구성된 소프트웨어다. 플럼은 대량의 로그 데이터를 효율적으로 수집, 집계, 이동하기 위한 신뢰성있는 분산형 소프트웨어다. steaming data 기반으로 유연하고 간단한 아키텍처를 갖추고 있다.

Flume 주요 구성요소

Source - 데이터가 발생하는 소스로 부터 (로그)데이터 수집하는 역할
: 다양한 원천 시스템의 데이터를 수집하기 위해 Avro, Thrift, JMS, Spool Dir, Kafka등 여러 주요 컴포넌트를 제공하며, 수집한 데이터를 Channel로 전달

Channel - Source와 Sink 사이의 Queue
: Source와 Sink를 연결하며, 데이터를 버퍼링하는 컴포넌트로 메모리, 파일, 데이터베이스를 채널의 저장소로 활용

Sink - 수집한 데이터를 외부로 보내는 역할
: 수집한 데이터를 Channel로부터 전달받아 최종 목적지에 저장하기 위한 기능으로 HDFS, Hive, Logger, Avro, ElasticSearch, Thrift 등을 제공

Interceptor - 데이터의 가공 및 필터링
: Source와 Channel 사이에서 데이터 필터링 및 가공하는 컴포넌트로서 Timestamp, Host, Regex Filtering 등을 기본 제공하며, 필요 시 사용자 정의 Interceptor를 추가

Agent - 하나의 작업 단위, 독립된 인스턴스
: Source -> (interceptor) -> Channel -> Sink 컴포넌트 순으로 구성된 작업 단위로 독립된 인스턴스로 생성.


Reference

[Apache Flume 기본 개념 정리]
https://deep-jin.tistory.com/entry/Apache-Flume-%EA%B8%B0%EB%B3%B8-%EA%B0%9C%EB%85%90-%EC%A0%95%EB%A6%AC?category=1104432?category=1104432

profile
데이터 엔지니어를 꿈꾸며

0개의 댓글