需要一个简单的多线程 Flume 源码

Need a simple multi threaded Flume source

正在寻找有关如何设置简单的多线程 flume 源的建议。

我一直在本地开发环境中使用 spoolDir 源来测试我的拦截器,但从下面的 link 来看,spoolDir 源似乎始终是单线程的:

Reading Flume spoolDir in parallel

我们有一个拦截器在生产中可能有问题,因为它使用非线程安全的 SimpleDateFormatter,我正试图在我的简单开发环境中重现。

通过将我的开发环境从 spoolDir 源切换到 syslogtcp 源,我最终能够重现我们在生产中看到的多线程错误行为。该错误不是我们所期望的,它与 SimpleDateFormatter 无关,而是它如何在事件 headers.

中插入附加信息

我通过使用 nc (netcat) 将数据发送到 syslog 端口来模拟一个 syslog 服务器。我通过记录线程名称和 ID 验证了拦截器被多个线程调用。

因此,对于任何感兴趣的人,最好使用 syslogtcp 之类的多线程源而不是 spoolDir 源来测试您的拦截器。