Flume学习总结和须知点

Flume定义:
Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集,聚合和传输系统。基于流失框架,灵活简单。

Flume Agent内部原理:
在这里插入图片描述
FlumeAgent由三大部分组成。Source(采集),Channel(传输),Sink(输出)。
首先Source采集由一些日志信息put到Channel,形成是一个event,然后sink端就take拿数据,最后输出到本地或者hdfs。

Channel Selectors有两种:
1Replicating Channel selector ,将数据发往所有的channel(默认)
2.Multiplexing Channer selector ,选择性的发向Channel

Source来源:
1.监听端口数据流
2.实时监听本地文件(日志等 tar -F)到HDFS
3.实时监控目录文件(每隔一定时间扫描目录)上传到HDFS
采集完毕之后一般会选用拦截器传输其他channel

多Channel通道(数据)
一般用于多条业务线。监控日志一个通往HDFS,一个通往本地。

多Sink传输
监控端口数据量,控制台轮回打印

多数据汇总(多Source)
log变化和端口数据流,输出到控制台

Flume监控之Ganglia
在Llinux上下载和配置文件,访问localhost:ganglia网站,参数大致有:puttask,puttaskSuccess,taketask,taketasksuccess,starttime,stoptime等

Flume企业调优

Source端:通过增加批处理bachsize,然后传向channel。

Channel端:可以增加Capacity(总容量)和传输Capacity,增加传输速率

扫描二维码关注公众号,回复: 5796767 查看本文章

Sink端:增加批处理bachsize,处理大量数据。

Flume事务机制:

put,putlist,缓冲区,take,takelist,event

Flume采集数据可能有丢失:channel通道type有memory和file,在内存传输可能会丢失数据,而file类型很稳定,一般用于银行事务处理。

在Flume完毕之后输出到HDFS端需要经过中间传输过程Kafka(消峰)

猜你喜欢

转载自blog.csdn.net/qq_43151441/article/details/88914590