寻找高性能的分布式可扩展解决scheme来存储大量的日志消息。 我们有多个并发日志源(=服务器)。
这里有趣的是, 性能是至关重要的 ,如果日志logging系统性能更好,我们甚至愿意放松所有日常消息的一小部分(比方说最多2%)。
我们想每天使用在线algorithm处理日志消息,所以我们不需要任何花哨的关系数据库的东西。 只是想顺序地运行数据并计算一些总量和趋势。
这是我们需要的:
任何RDBMS当然不是一个选项,因为它保证太多(对于这个任务不必要的)属性。
我想你想要Flume 。 它似乎击中了您正在寻找的大多数要点 – 多个来源,可靠性(E2E保证),写入HDFS(分布式,容错存储)的能力,集成到Hadoop中进行map / reduce。
编辑:我也想提到Scribe作为另一种可能性。 这是基于C ++的,由Facebook编写的,但似乎已被大部分上游放弃。 尽pipe如此,它的占地面积还是比Flume低很多,不过还包括Zookeeper等所有Flume依赖项的占用空间。 而且,它也可以写入HDFS。
分布式Splunk设置可以满足您的需求,但这听起来像您拥有大量的日志数据; 它的许可是基于每天索引的数据量,因此不会很便宜。