flume 정리.

Hadoop 2014. 10. 8. 19:17
flume을 막연히 해보려니 하기가 싫다. 
가장 큰 이유는 windows에 설치 하다가 실패해서 인듯.. 역시 안되면 재미가 없넹..
스터디 목적으로 대충 정리를 하니까 할수 있다는 자신감이 생긴다.ㅎ

Flume : Cloudera 에서 공개한 오픈소스 로그 수집기 
(안정성과, 가용성이 높다)

Flume OG : 0.9.x 버전 Cloudera
Flume NG : 1.0 버전 apache

번거로운 Flume OG 의 설정을 개선하기 위해 NG 가 등장.

아키텍쳐가 바뀜

Flume OG

Flume NG



Event : 헤더와 데이터(payload)로  구성되며 agent를 통해 이동되는 단위
Flow : 원점에서 최종 목적지 까지 이벤트들의 흐름
Client : 이벤트의 출발 지점에서 동작 하여 flume으로 전달되는 인터페이스의 구현
           일반적으로 데이터를 소비하는 어플리케이션의 프로세스 골간에서 동작 하며
           예로 Flume Log4j Appender 가 client가 됩니다. 
Agent : sources, channels , sinks 로 구성됨 agent간 이벤트를 이동할 수 있다.
Source : 특정 메커니즘을 통해 전달된 이벤트를 소비 할수 있는 인터페이스 구현 (종류는 아래 참조)
           예로 avro source는 다른 agent로 부터 전달된 avro 이벤트를 수신하기 위해 사용 될수 있는 source 구현 입니다. 
           source는 이벤트를 수신하면 하나 이상의 채널로 넘겨줍니다.
Cannel : event에 대한 일시적인 저장소, sink가 전송 후 해당 이벤트가 제거될때 까지 event는 channel에 유지됩니다. 
           예로 embeded database 백업 파일 시스템을 사용 하는 JDBC 채널이 있습니다.
           channel은 flow 에서 내구성을 보장하는 중요한 역할을 합니다 
Sink : 채널에서 이벤트를 읽어와 출력 대상에 씀 sink가 출력 대상에 이벤트(데이터) 전달을 완료 하면 채널에서 해당 이벤트를 삭제합니다.

이러한 컨셉은 flume의 아키텍쳐 , 구현, 설정, 배포에 도움이 됩니다. 

Folw 구성 종류

Multi-agent (에이전트 간 연결)


Consolidation (다수의 노드를 한곳으로)


Multiplexing (한 이벤트를 다양한 방식으로 처리할 때)


source 의 종류 

Spooling Directory Source : 디렉토리에 새롭게 추가되는 파일을 데이터로 사용
Exec Source : 명령행을 실행하고 콘솔 출력 내용을 데이터 입력으로 사용
Avro Source : 외부 Avro 클라이언트에서 전송하는 데이터 수신해서 입력으로 사용
Trift Source : 외부 Thrift 클라이언트에서 전송하는 데이터 수신해서 입력으로 사용
JMS Source : JMS 메세지를 입력으로 사용
Syslog Source : 시스템 로그를 입력으로 사용
NetCat source : TCP 로 라인 단위 입력 받음

Sink의 종류

HDFS Sink : HDFS에 데이터 파일로 씀
HBase Sink : HBase에 데이터를 씀
Avro Sink : 다른 Avro 서버 (Avro Source) 에 이벤트를 전달 함
Thrift Sink : 다른 Thrift 서버 (Thrift Source)에 이벤트를 전달 함
File Roll Sink : 로컬 파일에 데이터를 씀
MorphlineSolrSink : 데이터를 변환 해서 Solr 서버에 씀
ElasticSearchSink : 데이터를 변환 해서 ElasticSearch 클러스터에 씀.
Null Sink : 이벤트를 버림
 
Interceptor 

 Source로 들어온 이벤트 수정 또는 버릴 때 사용
- Source로 들어온 이벤트는 interceptor 를 거친 뒤에 채널에 전달

Timestamp : 이벤트 헤더에 현재 시간 값 추가
Static Interceptor : 이벤트 헤더에 지정한 값 추가
Regex filtering interceptor : 정규 표현식에 일치하는지 여부에 따라 이벤트를 버릴지 결정

한 개 이상 interceptor 적용 가능





맥에서는 한방에 됨..

참조사이트 : 도움이 많이 되었습니다. 








'Hadoop' 카테고리의 다른 글

windows 에서 hadoop 시작 하기.  (0) 2014.08.14
windows 에서 hadoop 설치  (3) 2014.08.13
Posted by 마법수정화살
,