Flume 是一个分布式、可靠、高可用的海量日志采集、聚合和传输的系统
Flume中的3个重要组件构成:
source:完成对日志数据的收集,分成transtion和event打入到channel中;
channel:主要提供一个队列的功能,对source提供数据进行简单的缓存;
sink:取出Channel中的数据,进行相应的存储文件系统,数据库,或者提交到远程服务器。
Channel有多种方式:
有MemoryChannel,JDBC Channel,MemoryRecoverChannel,FileChannel。
-
MemoryChannel可以实现高速的吞吐,但是无法保证数据的完整性。
-
MemoryRecoverChannel在官方文档的建议上已经建义使用FileChannel来替换。
-
FileChannel保证数据的完整性与一致性。在具体配置不现的FileChannel时,建议FileChannel设置的目录和程序日志文件保存的目录设成不同的磁盘,以便提高效率。
Sin