基于Hadoop的数据收集系统 - Chukwa

openkk 13年前

什么是 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的整个系统架构如图所示:
 
http://niaklq.bay.livefilestore.com/y1p58UGaCioDWZCD5T_To2jnjZccitA-9LbtNNmA5rSLRS8kxHu8D4ikTZomNGryONjCvI9YzM2Zw-Z1f9bd_o2D7hQeuh3nKqd/components.gif?psid=1
 

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的内容展示。 

几个部件大致的处理流程如下:

http://niaklq.bay.livefilestore.com/y1p58UGaCioDWZ9dX9OL6lD2qMfPo9GuJcEHC14HRWP6DdXs4tRU_bUS58ZdMaMgGVwP9QCP0US17Av4hTQmMOpxnZt9vjhMTBC/datapipeline.png?psid=1

项目主页:http://www.open-open.com/lib/view/home/1330353916280