互联网开源日志系统介绍和对比

互联网开源日志系统介绍和对比

ID:40586263

大小:455.00 KB

页数:13页

时间:2019-08-04

互联网开源日志系统介绍和对比_第1页
互联网开源日志系统介绍和对比_第2页
互联网开源日志系统介绍和对比_第3页
互联网开源日志系统介绍和对比_第4页
互联网开源日志系统介绍和对比_第5页
资源描述:

《互联网开源日志系统介绍和对比》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、开源日志系统比较1.背景介绍许多公司的平台每天会产生大量的日志(一般为流式数据,如,搜索引擎的pv,查询等),处理这些日志需要特定的日志系统,一般而言,这些系统需要具有以下特征:(1)构建应用系统和分析系统的桥梁,并将它们之间的关联解耦;(2)支持近实时的在线分析系统和类似于Hadoop之类的离线分析系统;(3)具有高可扩展性。即:当数据量增加时,可以通过增加节点进行水平扩展。本文从设计架构,负载均衡,可扩展性和容错性等方面对比了当今开源的日志系统,包括facebook的scribe,apache的chukwa,linkedin的k

2、afka和cloudera的flume等。2.FaceBook的ScribeScribe是facebook开源的日志收集系统,在facebook内部已经得到大量的应用。它能够从各种日志源上收集日志,存储到一个中央存储系统(可以是NFS,分布式文件系统等)上,以便于进行集中统计分析处理。它为日志的“分布式收集,统一处理”提供了一个可扩展的,高容错的方案。它最重要的特点是容错性好。当后端的存储系统crash时,scribe会将数据写到本地磁盘上,当存储系统恢复正常后,scribe将日志重新加载到存储系统中。架构:scribe的架构比较简

3、单,主要包括三部分,分别为scribeagent,scribe和存储系统。(1)scribeagentscribeagent实际上是一个thriftclient。向scribe发送数据的唯一方法是使用thriftclient,scribe内部定义了一个thrift接口,用户使用该接口将数据发送给server。(2)scribescribe接收到thriftclient发送过来的数据,根据配置文件,将不同topic的数据发送给不同的对象。scribe提供了各种各样的store,如file,HDFS等,scribe可将数据加载到这些st

4、ore中。(3)存储系统存储系统实际上就是scribe中的store,当前scribe支持非常多的store,包括file(文件),buffer(双层存储,一个主储存,一个副存储),network(另一个scribe服务器),bucket(包含多个store,通过hash的将数据存到不同store中),null(忽略数据),thriftfile(写到一个ThriftTFileTransport文件中)和multi(把数据同时存放到不同store中)。3.Apache的Chukwachukwa是一个非常新的开源项目,由于其属于hado

5、op系列产品,因而使用了很多hadoop的组件(用HDFS存储,用mapreduce处理数据),它提供了很多模块以支持hadoop集群日志分析。需求:(1)灵活的,动态可控的数据源(2)高性能,高可扩展的存储系统(3)合适的框架,用于对收集到的大规模数据进行分析架构:Chukwa中主要有3种角色,分别为:adaptor,agent,collector。(1)Adaptor数据源可封装其他数据源,如file,unix命令行工具等目前可用的数据源有:hadooplogs,应用程序度量数据,系统参数数据(如linuxcpu使用流率)。(2

6、)HDFS存储系统Chukwa采用了HDFS作为存储系统。HDFS的设计初衷是支持大文件存储和小并发高速写的应用场景,而日志系统的特点恰好相反,它需支持高并发低速率的写和大量小文件的存储。需要注意的是,直接写到HDFS上的小文件是不可见的,直到关闭文件,另外,HDFS不支持文件重新打开。(3)Collector和Agent为了克服(2)中的问题,增加了agent和collector阶段。Agent的作用:给adaptor提供各种服务,包括:启动和关闭adaptor,将数据通过HTTP传递给Collector;定期记录adaptor状

7、态,以便crash后恢复。Collector的作用:对多个数据源发过来的数据进行合并,然后加载到HDFS中;隐藏HDFS实现的细节,如,HDFS版本更换后,只需修改collector即可。(4)Demux和achieving直接支持利用MapReduce处理数据。它内置了两个mapreduce作业,分别用于获取data和将data转化为结构化的log。存储到datastore(可以是数据库或者HDFS等)中。4.LinkedIn的KafkaKafka是2010年12月份开源的项目,采用scala语言编写,使用了多种效率优化机制,整体

8、架构比较新颖(push/pull),更适合异构集群。设计目标:(1)数据在磁盘上的存取代价为O(1)(2)高吞吐率,在普通的服务器上每秒也能处理几十万条消息(3)分布式架构,能够对消息分区(4)支持将数据并行的加载到hadoop架构:

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。