您现在的位置是:首页 >学无止境 >Flume网站首页学无止境
Flume
简介Flume
1. Flume 拦截器
1
)拦截器注意事项
(
1
)
ETL
拦截器:主要是用来判断
json
是否完整。没有做复杂的清洗操作主要是防止
过多的降低传输速率。
(2)时间戳拦截器:主要是解决零点漂移问题
2
)自定义拦截器步骤
(
1
)实现
Interceptor
(2)重写四个方法
initialize
初始化
public Event intercept(Event event)
处理单个
Event
public List<Event> intercept(List<Event> events)
处理多个
Event
,在这个方法中调
用 Event intercept(Event event)
close
方法
(3)静态内部类,实现 Interceptor.Builder
3
)拦截器可以不用吗?
ETL
拦截器可以不用;需要在下一级
Hive
的
dwd
层和
SparkSteaming
里面处理
时间戳拦截器建议使用。 如果不用需要采用延迟
15-20
分钟处理数据的方式,比较麻
烦。
2. Flume Channel 选择器
Replicating:默认选择器。功能:将数据发往下一级所有通道
Multiplexing:选择性发往指定通道。
3. Flume 监控器
1)采用
Ganglia
监控器,监控到
Flume
尝试提交的次数远远大于最终成功的次数,说明
Flume 运行比较差。主要是内存不够导致的。
2)解决办法?
(
1
)自身:
flume
默认内存
2000m
。考虑增加
flume
内存,在
flume-env.sh
配置文件中
修改
flume
内存为 4-6g
-Xmx
与
-Xms
最好设置一致,减少内存抖动带来的性能影响,如果设置不一致容易导
致频繁
fullgc
。
(2)找朋友:增加服务器台数
搞活动
618 =
》增加服务器
=
》用完在退出
日志服务器配置:
8-16g
内存、磁盘
8T
4. Flume 采集数据会丢失吗?(防止数据丢失的机制)
如果是 FileChannel
不会,
Channel
存储可以存储在
File
中,数据传输自身有事务。
如果是 MemoryChannel
有可能丢。
风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。