flume组件

匿名 (未验证) 提交于 2019-12-02 23:39:01

Flume组件

1、source

interceptor 可形成拦截器链? 模块化开发和可移植性 性能会低一点

?自定义过ETL拦截器 区分类型拦截器

? ? 实现interceptor接口 重写四个方法? 创建一个静态内部类

? ?initialize?

? ?单event intercept

? 多event intercept 使用单event intercept

? close方法?

? 创建一个静态内部类 实现intercept.builder接口 返回一个自定义的拦截器对象

channel selector

? ? replicating? ?event发往全部的channel

? ? multiplexing? 可以选择event发往哪个channel

?

监视器

?ganglia 监控flume的数据流量

Source

优点

缺点

Taildir Source

断点续传、可同时监控多目录,可自定义监控文件的匹配正则表达式

?

Exec Source

可以实时搜集数据

Flume不运行或者Shell命令出错的情况下,数据将会丢失。

Spooling Directory Source

监控目录

不支持断点续传

kafka source

消费kafuka时使用

?

?


2、channel

?

?

channel

优点

缺点

memary channel

event保存在Java Heap中。如果允许数据小量丢失,速度快,推荐使用

flume宕机后缓存队列中的数据会丢失, 有内存大小的限制

file channel

使用物理磁盘作为缓存队列,速度慢优化可以配置多目录提高并发度,提高吞吐量

flume宕机后缓存队列中的数据不会丢失, 如果磁盘损坏,数据丢失

kafka channel

与kafka对接时可以节省sink (take事务)

?

3、sink

sink

注意事项

hdfs sink

小文件的处理

关于文件滚动的三个参数

时间间隔 10s

文件大小 128M

行数 0 禁止

kafka sink

与kafka对接

4、事务? 注意capacity 、transaction capacity和batch size三个的大小关系

?put事务

?take事务

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!