flume笔记(一)之基础架构

定义:Flume其实就是一个高可靠、高可用、海量数据传输的流式框架。

一.Flume基础架构

Agent:是一个JVM进程,它以事件的形式将数据从源头送至目的

Source:负责接收数据到Agent。并且处理各种类型、格式的日志数据,主要包括Avro SourceExec Source、Spooling Directory Source、Netcat Source等。

Sink:不断地将Channel中的事件批量的移除,并将这些事件批量写入到存储或索引系统、或者发送到另一个Flume Agent。其主要包括 HDFS Sink、Logger Sink、Avro Sink、File Sink、Hbase Sink等。
 

Channel:它是位于Source和Sink之间的缓冲区,Channel可以支持Source和Sink运行速率不同。并且可以同时处理几个Source的写入和Sink的写出操作。线程也是比较安全的。

        其主要包括Memory Channel File Channel 以及 Kafka Channel

        ★ Memory Channel 是内存中的队列。Memory Channel 在www.baidu.com不需要关心数据丢失的情景下适 用。如果需要关心数据丢失,那么 Memory Channel 就不应该使用,因为程序死亡、机器宕 机或者重启都会导致数据丢失。

        ★ File Channel 将所有事件写到磁盘。因此在程序关闭或机器宕机的情况下不会丢失数据。
 
Event:Flume基本数据的传输单元。Event由Header和Body组成。Header用于存放Event属性,Body用于存放Event数据。
原创文章 6 获赞 2 访问量 126

猜你喜欢

转载自blog.csdn.net/weixin_44604159/article/details/105966531