관리 메뉴

Hee'World

[1004jonghee]Flume이란-_-? 본문

BigData/Flume

[1004jonghee]Flume이란-_-?

Jonghee Jeon 2013. 7. 17. 11:29
Flume이란?

-클라우데라에서 개발된 오픈 소스 로그 수집 소프트웨어.
-데이터수집을 위한 프레임워크로 다양한 로그 데이터 수집 및 모니터링이 가능하며,  실시간 전송을 지원한다.
-자바로 구현되어 있기 때문에 다양한 운영체제에 설치가 가능하다.
-flume장애에 쉽게 대처 가능하며, 로그 유실에 대한 신뢰 수준을 상황에 맞게 변경할 수 있을 뿐만 아니라, 장애 발생시 다양한 복구 메커니즘을 제공한다.
-실시간으로 로그를 분석하는 어플리케이션을 개발할 수 있도록, 간단하며 확장 가능한 데이터 모델을 사용한다.
-Flume OG Version : 0.9X ~

-Flume NG Version : 1.X ~
--출처는 어디서 보았는지 메모를 못하였습니다--

Flume의 특징

1.신뢰성

1) 지속적으로 실패하는 상황에 직면하더라도 데이터 손실 없이 데이터를 보내야 하는 특성.
2) 신뢰성 수준 설정

     엔드투엔드 모드 (end to end) : 에이전트에서 보낸 시점부터 최종 저장소에 완벽히 저장 되었음을 보장해주는 모드. * WAL (write-ahread log)

     저장 모드 (store on failure) : 다음 노드로 전송한 데이터에 대한 신뢰성만 보장하는 노드.

     비신뢰 모드 (best effort) : 가장 낮은 수준의 보장 모드로 다음 단계 노드에 데이터가 저장되었는지에 상관없이 데이터를 보낸 직후 폐기.


2. 관리성


1) 데이터 흐름을 제어하고, 모니터링 등 결과를 관리.
2) Flume Master를 통하여 사용자는 흐름을 모니터링 할 수 있고, 즉시 재설정 할 수 있다.
3) Flume Master 자동적으로 부하의 변동이나 일부 노드의 실패, 하드웨어 추가와 같은 시스템의 변화에 대한 정보를 받는다.

4) Flume Master 관리 : 웹 인터페이스 , 스크립트를 이용.
(
웹 브라우저 http://master:35871/ )   <--- OG version에서의 웹 모니터링입니다.   NG version은 모니터링 하는 방법을 찾고 있습니다 T_T


  3. 확장성


1) 시스템의 성능을 증가시키는 것으로 수평적 자원확장을 지원.
2) 각 계층별로 부하량에 따라 노드를 추가해서 전체적인 성능을 향상 가능.
여러대의 Agent, Collector 가 연동이 가능함.

4. 운영가능성(Manageability)


1) 운영이 간편하다.

5. 확장성(Extensibility)


1) Decorator 등을 활용해서 새로운 기능을 쉽게 추가할 수 있다.


-- 출처 bicdata.com flume소개 자료. --




Flume은 OG version에서 NG version으로 버전업이 되면서 아키텍쳐가 많이 달라졌다.

아래의 그림을 보면 잘 알 수 있다. OG 버전에서는 로그를 수집할 머신에 agent를 구성하고 그 로그를 수집 하여 저장소에 저장할 collector를 설치하여 저장하였다. master서버는 agent와 collector를 관리하며 데이터흐름을 보면서 관리 할 수 있다. 


Flume OG version 





NG version에서는 하나의 agent 안에 source, channel, sink로 구성되어 있으며,  source는 서버에서 로그를 수집하며, channel은 sink로 전달되기 위한 임시 저장소 이며, sink는 channel에서 저장된 로그데이터를 로컬이나, HDFS 같은 저장소에 저장하는 역할을 담당한다.

Flume NG version



아래의 그림 은 flume 아파치 프로젝트 홈에 있는 다큐먼트 중에 있는 여러 agent에서 HDFS에 저장되기까지의 아키텍쳐 이다. 그런데 이해가 안되는 것이 하나 있다. 위에 그림을 보면 하나의 agent에서 바로 HDFS로 저장을 할 수있는데, 아래의 그림은 여러대의 agent의 로그를 또 하나의 agent로 모아서 최종 저장 하게 되어 있다. 바로 HDFS에 저장하지 않고 하나의 agent에 다시 모으는 이유는 무엇인지는 좀 더 공부를 해봐야 하겠지만, 성능적인 문제나 마스터의 성격을 가지는게 아닐까 생각한다.






 OG version과 NG version을 둘다 설치해서 로그를 수집해보고 monitoring도 해 보았지만 개인적으로는 OG version이 관리는 더 쉬운거 같다. 하지만 그것은 아직 내가 NG 버전을 제대로 소화를 못했다는 말이기도 하다. 

더욱 많은 공부가 필요하다!!






Comments