基于flume-ng中原有exec的source类型,通过tail依赖于操作系统去监听文件内容变化,其次,不支持断点续传的功能:
https://github.com/cwtree/flume-filemonitor-source
该组件特点如下:
1、一个source对应一个文件监控
2、实时监控文件变化
3、增量传输文件内容
4、支持断点续传功能,即使flume进程挂掉,下一次重启仍然可以继续接着上次断开的地方传输
5、能自动判断是否log文件滚动了(前提,必须做好flume进程的监控,监控到进程不在了,要立即进行重启)
使用只需如下配置即可:
a1.sources.r1.type=org.apache.flume.chiwei.filemonitor.FileMonitorSource
a1.sources.r1.channels=c1
a1.sources.r1.file=/home/flume/example/file/bizlogic.log
a1.sources.r1.positionDir=/home/flume
上面的代码不能实现批量的读取数据,传输的数据也不是按照行传输的。
推荐一个更为完善的代码实现
https://github.com/shunfei/flume-plugin
代码基本是在元flumeNG代码基础上进行修改,但是功能更完善。
相关推荐
SpoolDir 监控新文件,但不支持断点续传;Taildir 是最常用于实时追加日志文件的监控,具备断点续传能力。 - **Channel**:作为数据缓冲区,存储 Source 收集到的数据,直到 Sink 将其发送出去。Channel 必须是...
- **Taildir Source**:用于跟踪和读取目录中新增的日志文件,支持断点续传和多目录监控。 - **断点续传**:如果 Taildir Source 故障,恢复时可以从上次中断的地方继续,避免数据丢失。 - **重复数据处理**:...
Spooling Directory Source监控指定目录下的新文件,适合日志收集,而TailDir Source则实时监听文件,支持断点续传,对于监控日志文件的变动非常有用。在本场景中,由于需要处理模拟的埋点日志,选择了支持断点续传...
Flume 支持内存通道、文件通道等多种类型,确保数据的安全性和持久性。 3. **Sinks(接收器)**:Sinks 负责将 Channel 中的数据传输到目标位置,如 HDFS(Hadoop 分布式文件系统)、HBase、Kafka 或其他数据存储...
- `flume.sources.raa.positionFile`: 断点续传记录文件的位置。 - `flume.sources.raa.filegroups.f1.path`: 日志文件所在的路径。 - `flume.sources.raa.filegroups.f1.filter`: 要处理的日志文件的过滤条件。 ...
3. **断点续传**:在Flume服务重启或发生故障后,Tail-File-Source能够记住文件读取的位置,避免重复处理已经读取的数据。 4. **事件处理**:Tail-File-Source将文件中的每一行数据转换为Flume事件进行处理,每个...
- **配置 Flume**: 编辑 conf/flume.conf 文件,根据需求定义 Source、Sink 和 Channel。 - **启动 Flume**: 使用 `flume-ng agent` 命令启动 Agent,如 `flume-ng agent --conf conf --conf-file conf/flume.conf...
日志服务器使用Flume的taildir source进行日志采集,它支持断点续传和多目录监控。早期版本的Flume可能需要自定义source实现断点续传,而channel的选择也经历了从memory channel到kafka channel的转变,以解决效率和...
- 使用`taildirsource`监控多文件并实现断点续传。 - Channel选择KafkaChannel,兼顾可靠性和性能。 - 使用ETL和分类拦截器,过滤无效数据并按类型分配到不同主题。 - 选择多路复用选择器`multiplexing`,根据...
1. **Flume**: Flume被用于日志数据的采集,它在12台物理机上部署了4个节点,选择了1.7版本,利用tailDir Source进行实时监控并收集日志,支持断点续传和多目录读取。Memory Channel提供了高效的数据传输,而Kafka ...
- **Source**:使用taildirsource监控多个文件,具有断点续传功能,确保数据完整性。 - **Channel**:对比了filechannel(可靠性高,性能低)、memorychannel(性能高,可靠性低)和kafkachannel(可靠性高,性能...
配置时,可以通过 `filegroups` 指定要监控的目录,`positionFile` 保存文件的读取位置,确保断点续传,而 `filegroups.f1` 和 `filegroups.f2` 分别用于指定单个或多个文件路径,支持正则表达式匹配。 2. **HDFS ...
4. **故障恢复机制**:Flume支持断点续传和数据持久化,确保在系统故障后能恢复数据传输。在`usingflumecode-master`中,你可能会看到如何配置这些功能的示例。 5. **数据流向**:Flume可以通过多级代理构建复杂的...
对于Flume,作者选择了taildirsource以支持断点续传和多目录监控,以防止数据丢失。此外,还对日志服务器和业务服务器的规模进行了合理规划,确保了系统的稳定运行。 四、面试辅导与求职准备 此部分虽然未详细展开...
使用tailDir Source处理日志,支持断点续传和多目录读取。 - **Memory Channel**:提供快速的数据传输。 - **Kafka Sink**:将事件发送至Kafka,保证数据准确性。 - **Interceptor**:过滤并区分日志类型,去除...