Flume组成架构
如图所示:
Flume组成机构的组件有:webServer、Agent、HDFS.
WebServer:就是数据源
Agent:由Source,Channel,Sink组成;Source负责接收来自WebSource的数据;Channel是位于Source和Sink之间的缓冲区。Sink负责把数据写入到HDFS(数据目的地)。
HDFS:数据目的地。
Source数据输入端的常见数据类型有:
spooling directory exec syslog等
batch data:批数据
推送事件(put事件):
doPut:将批数据先写入到临时缓冲区putList
doCommit:检查Channel内存队列是否足够
doRollback:channel内存队列不足,回滚数据
Channel:在下面详细图解
拉取事件(take事件):
doTake:先将数据取到临时缓冲区takeList
doCommit:如果数据全部发送成功,则清除临时缓冲区takeList
doRollback:数据发送过程中,如果出现异常,Rollback将临时缓冲区takeList中的数据归还给channel内存队列