许多公司的平台每天都会产生大量的日志,并且一般为流式数据,如搜索引擎的 pv 和查询等。处理这些日志需要特定的日志系统,这些系统需要具有以下特征。
构建应用系统和分析系统的桥梁,并将它们之间的关联解耦。
支持近实时的在线分析系统和分布式并发的离线分析系统。
具有高可扩展性,也就是说,当数据量增加时,可以通过增加结点进行水平扩展。
目前使用最广泛的、用于系统日志采集的海量数据采集工具有 Hadoop 的 Chukwa、ApacheFlumeAFacebook 的 Scribe 和 LinkedIn 的 Kafka 等。
以上工具均采用分布式架构,能满足每秒数百 MB 的日志数据采集和传输需求。