Apache Flume – 数据流
Apache Flume – 数据流
Flume 是一个用于将日志数据移动到 HDFS 的框架。通常事件和日志数据是由日志服务器生成的,这些服务器上运行着 Flume 代理。这些代理从数据生成器接收数据。
这些代理中的数据将由称为收集器的中间节点收集。就像代理一样,Flume 中可以有多个收集器。
最后,来自所有这些收集器的数据将被聚合并推送到一个集中式存储,例如 HBase 或 HDFS。下图解释了 Flume 中的数据流。
多跳流
在 Flume 中,可以有多个代理,在到达最终目的地之前,一个事件可能会通过多个代理。这称为多跳流。
扇出流
从一个源到多个通道的数据流称为扇出流。它有两种类型 –
-
复制– 数据将在所有配置的通道中复制的数据流。
-
多路复用– 数据将被发送到事件标题中提到的选定通道的数据流。
扇入流
将数据从多个源传输到一个通道的数据流称为扇入流。
故障处理
在 Flume 中,对于每个事件,都会发生两笔交易:一笔在发送方,一笔在接收方。发送方向接收方发送事件。收到数据后不久,接收方提交自己的事务并向发送方发送“收到”信号。收到信号后,发送方提交其事务。(发送方在收到接收方的信号之前不会提交其事务。)