flume ng spool目录源轮询新文件的目录,而不是使用本机watchservice api

vom3gejh  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(323)

我在挖Flume SpoolingDirectorySource src并发现它在指定的 POLL_DELAY_MS 参数以生成新事件。然后这些事件由 ReliableSpoolingFileEventReader 在一个单独的线程。
我想知道为什么 ReliableSpoolingFileEventReader 不使用 WatchService api,这是相当低的级别以及线程安全。是否有任何特定的设计约束有利于轮询而不是观察者
谢谢。

1cosmwyk

1cosmwyk1#

通常,flume在处理成批事件时效果更好。这是因为文件通道 fsync 每一批都有。因此,等待一段时间是收集一批事件的一个很好的权衡。

相关问题