Flume是一种分布式,可靠且可用的服务,用于有效地收集,聚合和移动大量日志数据。它具有基于流数据流的简单灵活的体系结构。它具有可调整的可靠性机制以及许多故障转移和恢复机制,具有强大的功能和容错能力。它使用一个简单的可扩展数据模型,允许在线分析应用程序。
Flume架构

Agent
Agent是一个JVM进程,它以事件的形式将数据从源头送至目的。
Agent主要有3个部分组成,Source、Channel、Sink。
Source
Source是负责接收数据到Flume Agent的组件。Source组件可以处理各种类型、各种格式的日志数据,包括avro、thrift、exec、jms、spooling directory、netcat、sequence generator、syslog、http、legacy。
Sink
Sink不断地轮询Channel中的事件且批量地移除它们,并将这些事件批量写入到存储或索引系统、或者被发送到另一个Flume Agent。
Sink组件目的地包括hdfs、logger、avro、thrift、ipc、file、HBase、solr、自定义。
Channel
Channel是位于Source和Sink之间的缓冲区。因此,Channel允许Source和Sink运作在不同的速率上。Channel是线程安全的,可以同时处理几个Source的写入操作和几个Sink的读取操作。
Flume自带两种Channel:Memory Channel和F

Flume是一种分布式数据采集系统,用于高效、可靠地收集、聚合和移动大量日志数据。它包含Source、Channel和Sink三个核心组件,确保数据在传输过程中的可靠性和容错性。Source负责接收数据,Sink处理并输出数据,而Channel作为缓冲区在两者间存储数据。Flume还支持拦截器、Channel Selectors和Sink Processors等功能,以实现数据处理、负载均衡和故障转移。通过合理配置和参数调优,Flume能够实现高效且低损耗的数据采集。
最低0.47元/天 解锁文章
1544

被折叠的 条评论
为什么被折叠?



