Flume

为什么使用flume?

1.简单方便,对HDFS做了优化

2.实时服务器数据,可以自定义保证不去重复消费

3.filechannel可以保证数据不丢失,数据传输自身有事物,在从 Channel 批量删除数据之前,每个 Sink 用 Channel 启动一个事务。批量事件一旦成功写出到存储系统或下一个Flume Agent,Sink 就利用 Channel 提交事务。事务一旦被提交,该 Channel 从自己的内部缓冲区删除事件。如果写入失败,将缓冲区takeList中的数据归还给Channel。

Flume调优

source :
1.增加 source 个数,可以增大 source 读取能力。
2.具体做法 : 如果一个目录下生成的文件过多,可以将它拆分成多个目录。每个目录都配置一个 source 。
3.增大 batchSize : 可以增大一次性批处理的 event 条数,适当调大这个参数,可以调高 source 搬运数据到 channel 的性能。
channel :
1.memory :性能好,但是,如果发生意外,可能丢失数据。
2.使用 file channel 时,dataDirs 配置多个不同盘下的目录可以提高性能。flume在1.8之后增加了kafkachannel,比较好
3.transactionCapacity 需要大于 source 和 sink 的 batchSize 参数
sink :
增加 sink 个数可以增加消费 event 能力

posted @ 2020-04-15 15:35  嘿呦  阅读(112)  评论(0)    收藏  举报