阿里巴巴、Facebook、Cloudera等巨头的数据收集框架全攻略
互联网的发展,带来了日新月异的业务种类,随着业务的增长,随之而来的,是业务日志指数的递增。一些公司每条业务线, 提供服务的线上服务器就达几百台之多, 每天的日志量超百亿。如何能够将散落在各服务器上的日志数据高效的收集汇总起来, 成了在数据分析处理之前必须解决的问题。 一个优秀的数据收集框架,需要具备三点特性,一是低延迟,二是可扩展,三是容错性。 低延迟:从Log数据产生到能够对其做分析,希望尽可能快的完成数据的收集。在批处理或者离线分析中,对数据的实时性要求并不高,但是随着大数据的发展,实时计算的能力越来越强,实时分析的场景也越来越多,所以对日志收容的实时性要求也越来越高。 可扩展性:日志分布在服务器集群上,由于业务或者系统的原因,集群的服务器会发生变化,如上线,下线,宕机等,Log收集框架需要能够相应的做出变化,易扩展,易部署。 容错性:Log收集系统需要满足大的吞吐以及承受足够的压力, 这就意味着Log收集系统很可能面临宕机的风险, 在这种情况下, Log系统需要有不丢失数据的能力。 各大互联网巨头都开发了自己的日志收集工具, 比如Apache的chukwa,Facebook的sc...