1. taildir source
- 断点续传、多目录
- 哪个版本产生的?Apache1.7、CDH1.6
- 在没有断点续传功能时怎么做的?自定义source
- taildir挂了怎么办?不会丢数:断点续传。Taildir Source 维护了一个 json 格式的 position File,其会定期的往 position File
中更新每个文件读取到的最新的位置,因此能够实现断点续传。;重复数据:可能发生,但概率很小。 - 怎么处理重复?生产环境通常不处理,因为出现概率较低,处理会影响效率。处理的话:在taildir source里面自定义事务,影响效率。通过下一级处理(hive dwd、spark streaming等)、去重手段(groupby、 开窗取窗口第一条、redis)
- taildir source是否支持递归遍历文件夹读取文件?不支持。但可以通过自定义 遍历文件夹 + 读取文件。
2. file channel/memory channel/kafka channel
- File Channel
- 数据存储在磁盘,可靠性高,但传输速度低
- 默认容量100W个event
- File Channel可以通过配置dataDirs指向多个路径,每个路径对应不同的硬盘,增大Flume吞吐量。
- Memory Channel
- 数据存储于内存中,可靠性差,但传输效率