分布式日志收集框架Flume
一、Flume概述
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:由Cloudera/Apache使用Java语言开发
Scribe:Facebook使用C/C++开发,使用简单,但负载均衡不好而且容错也不好,现已不再维护
Chukwa:Yahoo/Apache 使用Java开发,负载均衡不好,现已不再维护
Fluentd:Ruby开发,与Flume类似,支持跨平台
(***)Logstash:ELK(ElasticSearch,Kibana)
二、Flume架构及核心组件
source:收集
channel:聚集
sink:输出
多个Agent可以串或者并起来