我正在寻找一种方法,使用flume将日志数据从只读文件夹推送到hdfs。我知道,flume spoolDir需要写入权限才能在完成后更改已完成的文件名,所以我想创建一个临时文件夹作为spoolDir并使用rsync将文件复制到它,然后将其用作spoolDir。 但是,据我所知,一旦通过flume(myfile.COMPLETED)在dest文件夹上更改了文件,rsync进程将再次复制它,对吧? 还有其他解决办法吗?
答案 0 :(得分:0)
替代来源是ExecSource
。您可以在单个只读文件上运行tail
命令并开始处理数据。然而,您必须考虑到这是一个不可靠的来源,因为在将数据放入代理通道时无法从错误中恢复。