您的位置:首页 > 其它

Flume 核心组件介绍

2015-12-04 14:30 1586 查看
flume 核心组件

Source

完成对日志数据的收集,收集完成后,分成transtion、event放到Sink或者Channel中。

Flume提供了各种Source的实现,包括

Avro Source:监控某一个端口

Exce Source:对linux命令如cat、tail等的输出进行监控

ExecSource 可以实现对日志的实时手机,但是存在Flume不运行或者指令执行出错时,将无法搜集到日志数据,即无法核证日志数据的完整行,

Spooling Directory Source:监控某个文件夹下生成的文件,若有新增文件,就把这个文件的数据读取到管道中来

1、放进去的目录不能再打开编辑。

2、不包含子目录。

flume主要是实时抓取数据。等log4j写完后,才能读取。所以不是实时的,但可以使用按分钟分割的方式分割日志文件,可以趋近实时。在实际的使用中,可以结合log4j使用。使用log4j的时候,将文件拷贝到spool的监控目录,log4j有一个TimeRolling的插件,基本实现实时监控。Flume在传完文件后,将会修改文件的后缀,变为.completed(后缀可以在配置文件中灵活指定),表示读过了。

NetCat Source:对某一个端口的监控

Syslog Tcp Source:

Syslog Udp Source:

Http Source :

HDFSSource:

我们写的东西开发完了,本省开发的系统不支持对,日志,访问tomcat记录

Sink

Sink从Channel管道中取数据,进行相应的操作,可能是存储到文件系统,数据库,或者提交到远程服务器。

Flume提供了各种sink的实现,包括

HDFS sink:1天好几G,好几百G,要放到hadoop中。

Logger sink:测试用的,控制台打印

Avro sink:一个客户端,传到另一个客户端

File Roll sink:一定时间生成一个文件

Null sink

HBase sink

Channel

主要提供一个队列的功能,对source提供中的数据进行简单的缓存。

Flume对于Channel,提供了

Memory Channel:可以实现高速的吞吐,但是无法保证数据的完整性。MemoryRecoverChannel在官方文档上已经建议使用FileChannel来替代。

JDBC Channel

File Channel:保证数据的完整性与一致性。可以将FileChannel输出目录设置成不同的磁盘,以提高效率。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: