Flume事务
Flume是一个基于流式架构一个日志收集传输系统,内部流式处理框架如下图:
Put事务:
(1) doPut:负责将Source拿到得数据上传到临时缓冲区putList中
(2)doCommit:该过程会检查Channel队列得大小是否足够存储putList中得数据,如果空间足够大,则执行doCommit将数据传到Channael;
(3):doRollback:在步骤(2)当中,如果Channel队列得内存空间不足,则回滚数据;
Take事务:
(1) doTake:负责将数据从Channel里拉取到临时缓冲区takeList,并将数据发送到HDFS或者其他目的地(比如下一级Flume)
(2)doCommit:如果数据全部都发送成功得话,那么则清除临时缓冲区takeList里得数据;
(3):doRollback:如果在步骤(2)里发送过程中出现异常,则Rollback会将takeL