可能之前已经问过这个问题,但我认为今天再考虑一下这些技术已经成熟了。我们希望使用flume,kafka,scribe或其他人之一将流媒体facebook和twitter个人资料信息存储到hbase中,以便稍后进行分析。我们正在为此目的考虑水槽,但我没有与其他技术合作以做出明智的决定。任何可以发光的人都会很棒!非常感谢。
答案 0 :(得分:21)
Mediawiki(维基百科)经历了这个并发表了一篇很好的文章,介绍了他们如何选择(Kafka)和Scribe,Flume等人。
http://www.mediawiki.org/wiki/Analytics/Kraken/Request_Logging
新链接:
https://wikitech.wikimedia.org/wiki/Analytics/Kraken/Logging_Solutions_Recommendation
后人的总结:
“我们的建议是Apache Kafka,一个为吞吐量而设计的分布式pub-sub消息传递系统。我们评估了从分布式日志收集,CEP /流处理和域中提取的十几种[1]最佳系统。虽然这些系统提供了令人惊讶的类似功能,但它们在实现方面存在很大差异,并且每个系统都专门针对特定的工作配置文件(作为附录提供了更彻底的技术讨论)。
“Kafka脱颖而出,因为它专注于吞吐量,并明确分布在其架构的所有层级。有趣的是,它也足够关注资源保护[2]提供合理的权衡,放松保证以换取性能 - 这是可能不会将Facebook或Google视为他们设计的系统中的一个重要特征。限制会滋生创造力。
“此外,Kafka还有一些特别感兴趣的操作读者。虽然它是用Scala编写的,但它附带了一个本机C ++生成器库,可以嵌入到我们的缓存服务器的模块中,从而无需运行第二,可以将生产者配置为批量请求以优化网络流量,但不要创建需要额外维护的持久性本地日志.Kafka的I / O和内存使用留给操作系统而不是JVM [3]
“Kafka是由LinkedIn编写的,现在是一个Apache项目。在LinkedIn的生产中,大约10,000个生产者由每个数据中心的8个Kafka服务器处理。这些集群将他们的流整合到一个分析数据中心,Kafka支持这个数据中心。通过简单的镜像配置框。
“这些功能非常适合我们的预期用例;即使是那些我们不打算使用的功能 - 例如通过”主题“类别进行分片和路由 - 也很有趣,并且在我们扩展时可能会有用我们的目标。
“本文档的其余部分更详细地介绍了这些主题......”