基于Flume的美团日志收集系统

基于Flume的美团日志收集系统

ID:40759409

大小:540.51 KB

页数:13页

时间:2019-08-07

基于Flume的美团日志收集系统_第1页
基于Flume的美团日志收集系统_第2页
基于Flume的美团日志收集系统_第3页
基于Flume的美团日志收集系统_第4页
基于Flume的美团日志收集系统_第5页
资源描述:

《基于Flume的美团日志收集系统》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、基于Flume的美团日志收集系统(一)架构和设计 问题导读:1.Flume-NG与Scribe对比,Flume-NG的优势在什么地方?2.架构设计考虑需要考虑什么问题?3.Agent死机该如何解决?4.Collector死机是否会有影响?5.Flume-NG可靠性(reliability)方面做了哪些措施?美团的日志收集系统负责美团的所有业务日志的收集,并分别给Hadoop平台提供离线数据和Storm平台提供实时数据流。美团的日志收集系统基于Flume设计和搭建而成。《基于Flume的美团日志收集系统》将分两部分给读者呈现美团日志收集系统的架构设计和实战经验。第一部分架构和设计,将

2、主要着眼于日志收集系统整体的架构设计,以及为什么要做这样的设计。第二部分改进和优化,将主要着眼于实际部署和使用过程中遇到的问题,对Flume做的功能修改和优化等。1日志收集系统简介日志收集是大数据的基石。许多公司的业务平台每天都会产生大量的日志数据。收集业务日志数据,供离线和在线的分析系统使用,正是日志收集系统的要做的事情。高可用性,高可靠性和可扩展性是日志收集系统所具有的基本特征。目前常用的开源日志收集系统有Flume,Scribe等。Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,目前已经是Apache的一个子项目。Scribe

3、是Facebook开源的日志收集系统,它为日志的分布式收集,统一处理提供一个可扩展的,高容错的简单方案。2常用的开源日志收集系统对比下面将对常见的开源日志收集系统Flume和Scribe的各方面进行对比。对比中Flume将主要采用Apache下的Flume-NG为参考对象。同时,我们将常用的日志收集系统分为三层(Agent层,Collector层和Store层)来进行对比。对比项Flume-NGScribe使用语言Javac/c++容错性Agent和Collector间,Collector和Store间都有容错性,且提供三种级别的可靠性保证;Agent和Collector间,Col

4、lector和Store之间有容错性;负载均衡Agent和Collector间,Collector和Store间有LoadBalance和Failover两种模式无可扩展性好好13Agent丰富程度提供丰富的Agent,包括avro/thriftsocket,text,tail等主要是thrift端口Store丰富程度可以直接写hdfs,text,console,tcp;写hdfs时支持对text和sequence的压缩;提供buffer,network,file(hdfs,text)等代码结构系统框架好,模块分明,易于开发代码简单3美团日志收集系统架构美团的日志收集系统负责美团的

5、所有业务日志的收集,并分别给Hadoop平台提供离线数据和Storm平台提供实时数据流。美团的日志收集系统基于Flume设计和搭建而成。目前每天收集和处理约T级别的日志数据。下图是美团的日志收集系统的整体框架图。a.整个系统分为三层:Agent层,Collector层和Store层。其中Agent层每个机器部署一个进程,负责对单机的日志收集工作;Collector层部署在中心服务器上,负责接收Agent层发送的日志,并且将日志根据路由规则写到相应的Store层中;Store层负责提供永久或者临时的日志存储服务,或者将日志流导向其它服务器。b.Agent到Collector使用Loa

6、dBalance策略,将所有的日志均衡地发到所有的Collector上,达到负载均衡的目标,同时并处理单个Collector失效的问题。c.Collector层的目标主要有三个:SinkHdfs,SinkKafka和SinkBypass。分别提供离线的数据到Hdfs,和提供实时的日志流到Kafka和Bypass。其中SinkHdfs又根据日志量的大小分为SinkHdfs_b,SinkHdfs_m和SinkHdfs_s三个Sink,以提高写入到Hdfs的性能,具体见后面介绍。d.对于Store来说,Hdfs负责永久地存储所有日志;Kafka存储最新的7天日志,并给Storm系统提供实

7、时日志流;Bypass负责给其它服务器和应用提供实时日志流。13下图是美团的日志收集系统的模块分解图,详解Agent,Collector和Bypass中的Source,Channel和Sink的关系。a.模块命名规则:所有的Source以src开头,所有的Channel以ch开头,所有的Sink以sink开头;b.Channel统一使用美团开发的DualChannel,具体原因后面详述;对于过滤掉的日志使用NullChannel,具体原因后面详述;c.模块之间内部通信

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

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

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