组成

  • Agent:是一个JVM进程(可通过top -p < pid > -H查看),分为Source、Channel、Sink。
  • Source:负责接收发送到Flume的数据,将数据以消息的形式通过事务提交到Channel。重要的Source有:TailDir、exec、netcat。
  • Channel:位于Source和Sink之间的缓冲区。重要的Channel有:File、Memory、Kafka。
  • Sink:轮询Channel中的消息,通过事务从Channel拉取数据,然后输出到指定位置。重要的有HDFS。
  • Event:Flume中的消息,分为Header和Body。

项目中的Flume

  • 图片说明

其他问题

  • flume采集的数据是否会丢失?

    • Flume的Source端和Channel端都有独立的事务,不会丢失数据,但有可能会有重复的数据。
  • flume中的事务

    • 图片说明