Apache Flume - 数据流



Flume 是一个用于将日志数据移动到 HDFS 的框架。通常,日志服务器会生成事件和日志数据,并且这些服务器上运行着 Flume 代理。这些代理从数据生成器接收数据。

这些代理中的数据将由一个称为**收集器**的中间节点收集。就像代理一样,Flume 中可以有多个收集器。

最后,所有这些收集器中的数据将被聚合并推送到一个集中式存储中,例如 HBase 或 HDFS。下图说明了 Flume 中的数据流。

Flume DataFlow

多跳流

在 Flume 中,可以有多个代理,并且在到达最终目的地之前,事件可能会遍历多个代理。这被称为**多跳流**。

扇出流

从一个源到多个通道的数据流称为**扇出流**。它有两种类型:

  • **复制** - 数据流,其中数据将在所有配置的通道中复制。

  • **多路复用** - 数据流,其中数据将发送到事件标题中提到的选定通道。

扇入流

数据流将数据从多个源传输到一个通道称为**扇入流**。

故障处理

在 Flume 中,对于每个事件,都会发生两个事务:一个在发送方,一个在接收方。发送方将事件发送到接收方。接收方在收到数据后立即提交自己的事务,并向发送方发送“已接收”信号。发送方在收到信号后提交其事务。(发送方在收到接收方的信号之前不会提交其事务。)

广告