大数据Flume选择

组件选择

我的大数据小伙伴在,hdp上搭完大数据相关就出差去了,我一个人在公司默默配置。
选择用flume做日志采集而不是选择logstash,是因为对flume要熟悉一些,修改起来更容易
flume的source有很多种,就不一一列举了,但是如果想要监控多个文件夹,那么最好自定义source,因为公司大多数是按天保存日志,也就是每天一个文件夹。可以去仿照官网写source然后打包到flume的lib下,再让它生效。
sink就用传统的sink下沉到hdfs

channel

这个得好好说道说道,flume的常见channel有好几种种分别是(memory channel ,file channel,spillable memory channel,jdbc channel)
memory channel:基于内存,所以速度很快,缺点就是断电容易丢失数据
file channel:写到磁盘不容易丢失,但是速度慢
spillable memory channel:集合了memory channel 和file 的特点,优先写到内存,数据量大了之后再写到磁盘,缺点同样集合了它们,再就是重启之后会发生断点续存

本来公司是准备使用双层flume的拓扑结构,第一层采集业务系统的日志使用spillable memory channel,作为管道,第二层汇总使用file channel。测试的时候报OOM错了,着了半天发现第二层汇总层数据量太大,source采集之后sink的速度太慢(打个比方一条河的水全部流到一个口子很大的水管中,但是出口就只有碗口大)后来查资料看到kafkachannel ,诶可行,拓扑结构都可以取消了,直接用tailDrSource-----kafkachannel—file_roll_sink,kafka的本质不就是用来做缓冲的嘛,而且它是顺序读写的所以速度非常快(基于磁盘并不是一定比基于内存慢),测试过一个boker,一个partition,一个topic的速度大概是42M/s,虽然还是比不上memory但比file要强不少不是。kafka数据不丢失的原因ACK消息确认机制。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值