概述

这是一个示例存储库,展示了如何设置Java项目以使用KafkaSpout,它是Storm 0.9.3版本的一部分。在撰写时,网上的其他示例要么已经过时,要么仅展示了如何在本地模式下使用KafkaSpout,而非在独立的Kafka集群模式中使用,或者由于添加了许多不必要的内容(如Scala示例)而令人困惑。

这个例子遵循了“做最简单的事情,可以工作”的原则。最具挑战性的是正确设置pom文件,确保Storm与Kafka之间不兼容的日志库不会影响拓扑运行(我花了整整一天的时间才解决这个问题)。因此,这部分可能是最脆弱的,可能会在不同的系统和版本中出现问题。示例拓扑基于P. Taylor Goetz的《Storm in Action》第1章中的基本字数拓扑。

有两个版本的代码:一个使用内存中的SentenceSpout,另一个则将消息发送到Kafka集群并从中读取数据。