分布式日志收集框架 Flume
1 需求分析 WebServer/ApplicationServer分散在各个机器上,然而我们依旧想在Hadoop平台上进行统计分析,如何将日志收集到Hadoop平台呢? 简单的这样吗? shell cp hadoop集群的机器上; hadoop fs -put ... / 显然该法面临着容错、负载均衡、高延迟、数据压缩等一系列问题 这显然已经无法满足需求了! 不如问问神奇的Flume呢??? 只需要配置文件,轻松解决以上问题! 2 Flume概述 2.1 官网 Flume是一种分布式,可靠且可用的服务,用于有效地收集,聚合和移动大量日志数据。 它具有基于流式数据流的简单灵活的架构。 它具有可靠的可靠性机制和许多故障转移和恢复机制,具有强大的容错性。 它使用简单的可扩展数据模型,允许在线分析应用程序。 2.2 设计目标 可靠性 当节点出现故障时,日志能够被传送到其他节点上而不会丢失。Flume提供了三种级别的可靠性保障,从强到弱依次分别为:end-to-end(收到数据agent首先将event写到磁盘上,当数据传送成功后,再删除;如果数据发送失败,可以重新发送。),Store on failure(这也是scribe采用的策略,当数据接收方crash时,将数据写到本地,待恢复后,继续发送),Best effort(数据发送到接收方后,不会进行确认)。 扩展性