flume性能调优总结

来源:互联网 发布:淘宝店铺seo有哪些 编辑:程序博客网 时间:2024/05/29 04:07


fllume经常被用在生产环境中收集后端产生的日志。一个flume进程就是一个Agent。要充分发挥flume的性能最主要的是要调好flume的配置参数。

flume agent配置分为三部分:Source, Channel,Sink. Soure用来接收数据源的数据并放到channel里里面。Channel用来缓存Source放入的数据。Sink用来从channel中取出缓存的数据,并写到下个Agent的Source、数据库、文件系统、kafka等。以下分成Source, Channel,Sink三部分讲flume性能调优要点。


1. Source

增加Source个(使用Tair Dir Source时可增加filegroups个数)可以增大Soure的读取数据的能力。例如:当某一个目录产生的文件过多时需要将这个文件目录拆分成多个文件目录,同时配置好多个Source 以保证Soure有足够的能力获取到新产生的数据。

batchSize参数决定Source一次批量运输到Channel的event条数,适当调大这个参数可以提高Soure搬运Event到Channel时的性能。


2. Channel 

type 选择memory 时Channel的性能最好,但是如果flume进程意外挂掉可能会丢失数据。type选择file时Channel的容错性更好,但是性能上会比memory channel差。

使用file Channel时dataDirs配置多个不同盘下的目录可以提高性能。

capacity 参数决定Channel可容纳最大的event条数。transactionCapacity 参数决定每次Source往channel里面写的最大event条数和每次Sink从channel里面读的最大event条数。transactionCapacity需要大于Source和Sink的batchSize参数。


3. Sink 

增加Sink的个数可以增加Sink消费event的能力。Sink也不是越多越好够用就行,过多的Sink会占用系统资源,造成系统资源不必要的浪费。

batchSize参数决定Sink一次批量从Channel读取的event条数,适当调大这个参数可以提高Sink从Channel搬出event的性能。

1 0
原创粉丝点击