组成
- 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中的事务