Chuwa是Yahoo!贡献给Apache的基于Hadoop开发的数据采集与分析的框架,用来支持大型分布式系统的海量日志的收集与分析工作,它具有良好的适用性和可扩展性,天生支持与MapReduce协同进行数据处理,能提供完整的数据收集与分析的解决方案。
Chuwa主要由5个关键部分构成:
1.Agent运行在每个节点之上,负责采集每个节点的原始数据,并发送数据给Collector。
2.Collector负责接收Agent所发送的数据,并且写入到稳定的存储当中。
3.ETL数据处理任务,负责数据解析和归档。
4.数据分析脚本任务,如PigLatin等,以及MapReduce数据分析job,负责对收集的数据进行分析。
5.HICC,即the Hadoop Infrastucture Care Center,Hadoop基础管理平台,提供数据展现的Web页面。
运行在应用服务器上的Chuwa Agent 通过initial_adaptors文件配置的Adaptor来对服务器上的日志进行收集,收集以后将日志发送给Collector集群,Collector负责将数据sink到HDFS,通过定期运行MapReduce任务将数据转换成结构化数据,为防止出现单点故障,Collect支持扩展,Chuwa可以拥有多个Collect,Agent从collectors文件中随机选择一台Collector进行数据传输,当某个Collector宕机或繁忙时,能够转换到其他的Collector继续处理,进行相应的容错。