大数据之flume
2020-05-12 17:02:33 2 举报
AI智能生成
大数据-flume
作者其他创作
大纲/内容
角色
图示
Source
用于采集数据,Source是产生数据流的地方,同时Source会将产生的数据流传输到Channel,这个有点类似于Java IO部分的Channel
Channel
用于桥接Sources和Sinks,类似于一个队列
Sink
从Channel收集数据,将数据写到目标源(可以是下一个Source,也可以是HDFS或者HBase)
event
传输单元,Flume数据传输的基本单元,以事件的形式将数据从源头送至目的地
部署及使用
文件配置
案例
简介
图示
特点
1) Flume提供一个分布式的,可靠的,对大数据量的日志进行高效收集、聚集、移动的服务,Flume只能在Unix环境下运行
2)Flume基于流式架构,容错性强,也很灵活简单
3)Flume、Kafka用来实时进行数据收集,Spark、Flink用来实时处理数据,impala用来实时查询。
flume流式处理
处理流程图
Source常见类型:spooling directory,exec,syslog,avro,netcat
Put事务流程
Doput:将批量数据写入临时缓冲区putlist
Docommit:检查channel内存队列是否足够合并
DoRollback:channel内存队列空间不足,回滚数据
channel
Memory Channel
File Channel
Take事务
Dotake:先将数据取到临时缓冲区takelist
Docommit:如果数据全部发送成功,则清除临时缓冲区takelist
dorollBack:数据发送过程中如果出现异常,rollBack将临时缓冲区takelist中的书据归还给channel内存队列.
Sink源
传输过程
source监控某个文件或数据流,数据源产生新的数据,拿到该数据后,将数据封装在一个Event中,并put到channel后commit提交,channel队列先进先出,sink去channel队列中拉取数据,然后写入到HDFS中
0 条评论
下一页