基于Hadoop的数据收集系统 - Chukwa
什么是 Chukwa,简单的说它是一个数据收集系统,它可以将各种各样类型的数据收集成适合 Hadoop 处理的文件保存在 HDFS 中供 Hadoop 进行各种 MapReduce 操作。Chukwa 本身也提供了很多内置的功能,帮助我们进行数据的收集和整理。
Chukwa是由Yahoo贡献,基于Hadoop的大集群监控系统,可以用他来分析和收集系统中的数据(日志)。Chukwa运行HDFS中存储数据的收集器和MapReduce框架之上,并继承了Hadoop的可扩展性和鲁棒性, Chukwa使用MapReduce来生成报告,他还包括一个用于监测和分析结果显示的web-portal工具,通过web-portal工具使这个收集数据的更佳具有灵活性,这点有点像是类似 linux工具,例如:awk 。这几乎是一个日志处理/分析的full stack solution,国内用hadoop做日志分析的,或者将要做日志分析的可以关注下。
搭建、运行Chukwa要在Linux环境下,要安装MySQL数据库,在Chukwa/conf目录 中有2个SQL脚本 aggregator.sql、database_create_tables.sq l 导入MySQL数据库,此外还要有Hadoo的HDSF运行环境,Chukwa的整个系统架构如图所示:
Chukwa 由哪几个组件组成的?
Chukwa是Yahoo开发的Hadoop之上的数据采集/分析框架,主要用于日志采集/分析。该框架提供了采集数据的Agent,由Agent采集数据通过HTTP发送数据给Cluster的Collector,collector把数据sink进Hadoop,然后通过定期运行Map reducer来分析数据,将结果呈现给用户。
Chukwa 有以下4个主要的组成部分:
Agent 收集各服务器的数据
Collectors 接收agent的数据;并写进存储
MapReduce jobs 归档数据
HICC 就是 Hadoop Infrastructure Care Center的四个英文单词的缩写,简单来说是个Web工程用于ChukWa的内容展示。
几个部件大致的处理流程如下: