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