我正在制作 Apache Flume 原型。我的任务是在使用 VirtualBox 设置的两个 Ubuntu VM 之间传输文本文件内容。尽管我一直在阅读他们的文档,但我对 Flume 几乎一无所知。
使用 VirtualBox,我能够创建一个内部网络,并且两个虚拟机能够成功地相互 ping 通。
我还可以下载并配置 Flume,如下所示:https://cwiki.apache.org/confluence/display/FLUME/Getting+Started
我的观点是 Flume 已安装并在两个虚拟机上运行(或者我认为是这样)。
这篇文章给了我一个小小的想法:https://stackoverflow.com/questions/19112465/flume-data-transferring-to-serverA
那么,我是否在每个虚拟机上完全实现该flume.conf 文件?我需要编写 Java 来做到这一点吗?
另外,我找到了这个视频,大约 18 分钟的时候,这个家伙几乎完全按照我的要求做了。但是,我希望输入是一个文本文件。
答案1
我通过使用接收器类型作为 file_roll 解决了这个问题。我还必须识别第二个虚拟机的 IP,以便两者可以连接。
我在此链接中找到了有关如何执行此操作的分步说明:http://thisandthat.io/blog/flume-part3/
此外,您不需要编写任何 Java 来执行此操作。但是,按照 Flume 的标准,请确保您的 JAVA_HOME 在 Flume-env.sh 文件中正确声明。所有其他部分均由创建的 .conf 文件处理(如上面的链接所述)。