|
Scribe能够从各种日志源上收集日志,存储到一个中央存储系统(NFS或者分布式文件系统等),以便于进行集中统计分析处理。它为日志的“分布式收集、统一处理”提供了一个可扩展的、高容错的方案。 Scribe是Facebook开发的分布式日志系统,它使用Thrift传输日志数据。Scribe由Scribe Agent、Scribe和存储系统三部分组成。 Scribe Agent实际上是一个ThriftClient。各个数据源须通过Thrift向Scribe传输数据,每条数据记录包含一个Category和一个Message,可以在Scribe配置中指定Thrift线程数,默认是3。 Scribe接收到ThriftClient发送过来的数据,放到一个共享队列MessageQueue,然后根据配置文件,Scribe可以将不同Category的数据存放到不同目录中并Push给后端不同的存储对象。 后端的存储系统提供各种各样的存储方式,包括file、buffer(双层存储,一个主存储,一个副存储)、Network(另一个Scribe服务器)、Bucket(包含多个Store,通过Hash将数据存储到不同Store中)、Null(忽略数据)、Thrift File(写到一个Thrift Tfile Transport文件中)和Multi(把数据同时存放到不同Store中)。 【出处】刘丽敏,廖志芳,周筠.大数据采集与预处理技术,中南大学出版社,2018年12月第1版.
|