以下是设置细节
Kafka拥有3个经纪人(每个经纪人拥有10个核心和32GBmem(12 GB堆))。
创建了包含120个分区和复制因子3的主题。
每个代理的吞吐量约为40k msgs / sec,字节数约为8mb / sec。
Flume kafka来源被用作消费者。
观察:
当复制因子保持为1时,字节输出和字节完全停止在相同的时间戳(即当生产者停止到kafka时)。
但是当复制因子增加到3时,与字节数相比,在字节输出中观察到时滞.Tlume kafka源正在缓慢地提取数据。但是,flume配置了非常高的内存和CPU配置。
尝试将num.replica.fetchers从默认值1增加到10,20,50等,并将replica.fetch.max.bytes从默认值1MB增加到10MB,20MB。但是在滞后方面没有发现任何改善。
使用jmx中的副本管理器度量标准,在repplicated分区下的为零。
对kafka代理进行cpu和内存监控,cpu占总核心数的3%,内存使用4gb(配置32 Gb)。
Flume kafka source已覆盖kafka使用者属性:max.partition.fetch字节保持默认值1MB,fetch.max.bytes保持默认值52MB。 Flume kafka源批量大小保持默认值1000。
agent.sources.****.kafka.consumer.fetch.max.bytes = 10485760
agent.sources.****.kafka.consumer.max.partition.fetch.bytes = 10485760
agent.sources.****.batchSize = 1000
为了减少复制因子3的kafka代理中字节输入和字节输出之间的延迟还需要进一步调整,还是错过了任何配置?