我是Flume的新用户,请把我当作绝对noob。我正在为一个特定用例配置Flume这个小问题,并希望你能提供帮助。请注意,我没有使用HDFS,这就是为什么这个问题与您在论坛上看到的其他问题不同。Apache Flume - 只发送新文件内容
我有两台虚拟机(VM)通过Oracle Virtual Box上的内部网络相互连接。我的目标是让一个虚拟机监视一个只有一个文件的特定目录。当文件改变时,我希望Flume只发送新的行/数据。我希望其他虚拟机接收这些数据并将数据更新/连接到一个特定目录中的单个文件。
到目前为止,我有这个过程非常接近工作。每当在VM1中进行更改时,都会在VM2上进行更新。但是,VM1上的整个文件每次都发送到VM2,而不是新行。例如,如果我写“测试1”,然后过了一会儿底下写了“Test2的”关于VM1文件,对VM2输出将是:
Test1的
Test1的
的Test2
我想看到的是:
Test1
Test2
我不知道如何实现这一点,透后我这封电子邮件是检查水槽用户指南documentatio n和大多数相关的文章在stackoverflow/stackexchange上。以下是目前的配置(它们以我上面提到的方式工作)供您参考。
我意识到另一个解决办法是继续VM1配置和覆盖检测到新的内容上VM2每次文件。但是,我也不确定如何实现这一点。
您可以提供的任何援助非常感谢!
请忽略我的代码中的一些评论,我正在尝试。忘了那里:) –
我现在想,我也可以通过定期删除最终目录中的文件来解决这个问题。 –
作为另一种可能的解决方法,我正在考虑使用假脱机目录源和file_roll接收器将目标目录附加到代理,同时file_roll的目标是相同的目录。通过这种方式,我将基本上执行刷新操作,因为假脱机目录源允许您在将文件读入通道后删除文件。 –