스터디 (정리)/BigData
[BigData] Apache Flume 정리
LucasRan
2023. 12. 16. 15:46
반응형
1. 정리 목적
- Flume에 대한 기본 개념을 살펴본다.
- Flume의 기본 구성을 살펴본다.
- Flume의 아키텍처를 살펴본다.
- Flume을 개인적으로 활용했던 부분을 간단하게 공유한다.
2. Flume이란?
- 빅데이터를 수집할 때 다양한 수집 요구사항들을 해결하기 위한 기능으로 구성된 소프트웨어
- 장애 발생시 데이터의 유실 없이 전송할 수 있는 신뢰성, 시스템의 확장성, 관리가 쉬운 용이성이 장점
3. Flume의 구성
- 기본적으로 Source, Channel, Sink로 구성, 부가 요소로 Interceptor가 존재
- Source : 외부에서의 데이터를 수집하여 Channel에 저장 수행
- Channel : Source와 Sink의 의존성을 제거하고 장애에 대비하기 위해 데이터 임시 보관하는 역할 수행
- Sink : Channel로부터 데이터 정보를 읽어 설정파일에 지정된 형태로 데이터를 저장
- Interceptor : Source에서 Channel로 전달되는 데이터를 가로채 Labeling, 변경 등의 작업을 수행

4. Flume 아키텍처
Flume의 아키텍처는 하기 처럼 현 상황에 맞게 에이전트를 구성할 수 있다.
4.1 Flume 에이전트 구성 1
- Flume 메커니즘은 Source, Channel, Sink만을 활용해 아키텍처를 구성하므로 매우 직관적
- Flume의 Source에서 데이터를 로드, Channel에서 데이터를 임시 저장, Sink를 통해 목적지에 데이터를 최종 적재
- Flume은 수집 요건에 따라 다양한 분산 아키텍처 구조로 확대
- 제일 단순한 Flume 에이전트 구성 방법
- 데이터를 특별한 요구사항 없이 단순 수집/적재할 때 주로 활용

4.2 Flume 에이전트 구성 2
- 데이터를 수집할 때 Interceptor를 추가해 데이터를 가공하고, 데이터의 특성에 따라 Channel에서 다수의 Sink 컴포넌트로 라우팅이 필요할 때 구성
- 한 개의 플럼 에이전트 안에서 두 개 이상의 Source-Channel-Sink 컴포넌트 구성 및 관리가 가능

4.3 Flume 에이전트 구성 3
- Flume 에이전트에서 수집한 데이터를 Flume 에이전트 2, 3에 전송할 때 로드밸런싱, 복제, 페일오버(failover) 등의 기능을 선택적으로 수행
- 수집해야 할 시스템은 한 곳이지만 높은 성능과 안정성이 필요할 때 주로 사용

4.4 Flume 에이전트 구성 4
- 시스템이 다양하고 대규모의 데이터가 유입될 때 사용하는 Flume의 분산 아키텍처
- Flume 에이전트 1, 2, 3, 4에서 수집한 데이터를 Flume 에이전트 5에서 집계(aggregation)하고, 이때 Flume 에이전트 6으로 이중화해서 성능과 안전성을 보장하는 구성

5. Flume 활용
개인적으로 Flume을 활용하여 사용했을 때 부분을 공유 하면 하기와 같다.
5.1 대용량 파일 (배치성)
- n개의 설비에 대한 상태 정보 로그 파일이 로그 시뮬레이터를 통해 매일 생성
- 만들어진 상태 정보 파일을 Flume 에이전트가 일 단위로 수집해서 Hadoop에 적재하고 향후 대규모 배치 분석에 활용

5.2 실시간 로그
- 설비 n개의 운행 정보를 실시간으로 기록하는 로그 파일이 로그 시뮬레이터에 의해 만들어짐
- 이때 발생과 동시에 Flume 에이전트가 수집해서 Kafka에 전송

※ 참조 url :
Welcome to Apache Flume — Apache Flume
Welcome to Apache Flume Flume is a distributed, reliable, and available service for efficiently collecting, aggregating, and moving large amounts of log data. It has a simple and flexible architecture based on streaming data flows. It is robust and fault t
flume.apache.org
- [도서]실무로배우는 빅데이터기술 https://product.kyobobook.co.kr/detail/S000001766428
실무로 배우는 빅데이터 기술 | 김강원 - 교보문고
실무로 배우는 빅데이터 기술 | 전문 개발자가 아니어도 약간의 소프트웨어 지식만으로 빅데이터의 A~Z까지 기술들을 구현하고 경험해 볼 수 있는 파일럿 프로젝트 형식으로 구성했다. 빅데이터
product.kyobobook.co.kr
반응형