hadoop日志系统中的日志收集模块
hadoop日志系统中的日志收集模块,在如今比较流行的以及开源具有代表性的有facebook的scribe,apache的chukwa,linkedin的kafka,以及非常优秀的cloudrea的flume,在1.x的hadoop生态系统中,flume比较适合做日志收集模块,因为其功能全面,且具有高扩展性,高稳定性,高可靠性,以及便于管理和维护。
在1.xhadoop生态系统中,HDFS分布式文件存储系统,和Hbase分布式面向列的数据库,适合存储海量日志信息,HDFS,因为具有良好的扩展性,高容错性,高可靠性,所以适合海量日志信息的存储,Hbase因具有高可靠性,高性能,面向列以及良好的扩展性,且支持实时存储数据,结合HDFS作为底层的分布式存储系统,所以也适合存储海量日志信息
日志模块分析工具有Hive,Pig,Mahout,Hive的适用场景通常用于结构化海量日志的离线数据统计问题。Pig适用于ad-hoc在Query时离线数据分析工具。Mahout适用于对海量数据的机器学习和数据挖掘工作。
Hbase适合实时存读取网站的更新频率信息。
Hive和Pig适合完成网页去重复功能。
可以使用MapReduce分布式计算框架辅以hive,pig,mahout对网页进行处理和分析。
二,Cloudrea的flume日志收集模块,分为三层架构,分别位agent,collector,storage,agent和collector又由二部分组成,source和sink,source代表日志的数据源,sink代表数据方向,
参数 | 作用 | agent | 将数据源发送给collector统一处理 | collector | 将日志数据收集后汇总,交给HDFS存储 | stroage | 是存储系统,可以是数据库,简单的txt,HDFS,以及Hbase等等 |
简易流程图如下: