分布式日志收集框架Flume

一、Flume概述

官网:http://flume.apache.org/

Flume is a distributed(分布式), reliable(高可靠), and available(高可用) service for efficiently collecting(收集), aggregating(聚合), and moving(移动) large amounts of log data. 

Flume是由Cloudera提供的一个分布式、高可靠、高可用的服务,用于分布式的海量日志的高效收集、聚合、移动系统。

架构图:

websever源端 ==>Flume ==>hdfs目的地

分布式日志收集框架Flume

设计目标:可靠性  扩展性  管理性

业界同类产品的对比:

(***)Flume:由Cloudera/Apache使用Java语言开发

Scribe:Facebook使用C/C++开发,使用简单,但负载均衡不好而且容错也不好,现已不再维护

Chukwa:Yahoo/Apache 使用Java开发,负载均衡不好,现已不再维护

Fluentd:Ruby开发,与Flume类似,支持跨平台

(***)Logstash:ELK(ElasticSearch,Kibana)

 

二、Flume架构及核心组件

分布式日志收集框架Flume

source:收集

channel:聚集

sink:输出

多个Agent可以串或者并起来

分布式日志收集框架Flume

分布式日志收集框架Flume

分布式日志收集框架Flume