【问题标题】:How to increase the processing rate of flume agent如何提高水槽剂的处理率
【发布时间】:2015-08-02 05:20:45
【问题描述】:

我有一个水槽代理,可以将数据提取到 elasticsearch 中。代理正在使用spoolDir 源。还有另一个代理将文件写入 elasticsearch 代理的 spoolDir。

随着时间的推移,文件增加,处理过的文件和未处理的文件之间的差异也会增加。

我想增加 Flume 代理处理的事件数量以加快摄取过程。

这里是flume代理的配置。

agent04.sources = s1

agent04.channels = ch1

agent04.channels = memoryChannel

agent04.channels.memoryChannel.type = 内存

agent04.channels.memoryChannel.capacity=100000

agent04.channels.memoryChannel.transactionCapacity=1000

agent04.sources.s1.channels = memoryChannel

agent04.sources.s1.type = spooldir

agent04.sources.s1.spoolDir = /DataCollection/Flume_Cleaner_Output/Json_Elastic/

agent04.sources.s1.deserializer.maxLineLength = 100000

agent04.sinks = 弹性搜索

agent04.sinks.elasticsearch.channel = memoryChannel

agent04.sinks.elasticsearch.type=org.css.cssElasticsearchSink

agent04.sinks.elasticsearch.batchSize=400

agent04.sinks.elasticsearch.hostNames = elastic-node01.css.org

agent04.sinks.elasticsearch.indexName = all_collections

agent04.sinks.elasticsearch.indexType = live_tweets

agent04.sinks.elasticsearch.indexNameBuilder= org.css.sa.flume.elasticsearch.sink.indexNameBuilder.HeaderValueBasedIndexNameBuilder

agent04.sinks.elasticsearch.clusterName = css_rai_social

agent04.sinks.elasticsearch.serializer = org.jai.flume.sinks.elasticsearch.serializer.ElasticSearchJsonBodyEventSerializer

agent04.sinks.elasticsearch.cache_period_ms=90d

【问题讨论】:

    标签: flume flume-ng


    【解决方案1】:

    为什么要使用 spooldir 链接两个 Flume 代理?这会很慢,而且是一个令人惊讶的配置。随着每个批次的处理,您会产生频繁 fsync 的成本。

    我建议您使用 Avro Sink 和 Avro Source 链接它们。我还将批量大小增加到至少 1000。(计算机真的很喜欢批量,Flume 就是这样做的)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-05-15
      • 1970-01-01
      • 1970-01-01
      • 2014-12-05
      • 1970-01-01
      • 1970-01-01
      • 2019-09-14
      • 2021-12-25
      相关资源
      最近更新 更多