在上一篇文章 大猪 已经介绍了日志存储设计方案 ,我们数据已经落地到数据中心上了,那接下来如何ETL呢?毕竟可是生产环境级别的,可不能乱来。其实只要解决几个问题即可,不必要引入很大级别的组件来做,当然了各有各的千秋,本文主要从 易懂、小巧 、简洁、 高性能 这三个方面去设计出发点,顺便还实现了一个精巧的 Filebeat。

要实现的功能就是扫描每天的增量日志并写入Hbase中

需要搞定下面几个不务正业的小老弟

- 需要把文件中的每一行数据都取出来
- 能处理超过10G以上的大日志文件,并且只能占用机器一定的内存,越小越好
- 从上图可以看到标黄的是已经写入Hbase的数据,不能重复读取
- 非活跃文件不能扫,因为文件过多会影响整体读取IO性能
- 读取中的过程要保证增量数据不能录入,因为要保证offset的时候