flume -agent
2021-05-06 18:13:03 7 举报
flume 本质里面就是一个个agent进程 本图描述了agent进程的详细流程,希望对大家有所帮助
作者其他创作
大纲/内容
会将同一个 Event 发往所有的 Channel
3.doRollback:channel内存队列空间不足的话回滚数据
Take transation
flume流式处理
enent2
输出
doCommit
sink
putList
webServer
DefaultSinkProcessor,对 应 的 是 单 个 的 Sink
3.doRollback:数据发送过程中如果出现异常,rollback就将临时缓冲区takeList的数据还给channel内存队列
转发事件
文件服务或者系统
Multiplexing多路复用
推送事件
takeList
2.doCommit:检查chanal队列是否足够合并
Put transation
FailoverSinkProcessor对应的是 Sink Group,可以实现故障转移的功能
2.doCommit:如果数据全部输出成功,就清除临时缓冲区takeList
doPut
...
doRollback
event由header和 body两部分组成,key,value结构 header存enent的一 些属性, body存储数据为字节数组
拉取事件
Sink组件目的地包括hdfs、logger、avro、thrift、ipc、file、null、HBase、solr、自定义。
source
enent1
enentn
agent进程
batch data
doTakebatch data
Replicating复制
接收事件,读取数据可以读取文件和端口
Put事务处理流程
channel分为 Memory Channel和File Channel。
1.doput:将批数据先写入临时缓冲区putList
根据原则将不同的Event发往不同的channel
Take事务处理流程
LoadBalancingSinkProcessor对应的是 Sink Group,可以实现负载均衡
ChannelSelector
SinkProcessor
收藏
0 条评论
下一页