2

私はStormで作業し、ローカル テキスト ファイルを入力ソースとして使用する基本的なプログラムを開発しました。しかし今は、外部システムから継続的に送られてくるデータのストリーミングに取り組まなければなりません。この目的には、Kafka が最適です。

問題は、Spout に Kafka からストリーミング データを取得させる方法です。または、Storm を Kafka と統合する方法。Kafkaからのデータを処理できるようにするにはどうすればよいですか?

4

1 に答える 1

5

KafkaSpoutを探します。

これは、Kafka クラスターから読み取る通常の Storm Spout 実装です。必要なのはlist of brokerstopic name、 などのパラメーターを使用してそのスパウトを構成することだけです。その後、出力を対応するボルトにチェーンして、さらに処理することができます。

上記の同じドキュメントから、構成は次のようになります。

SpoutConfig spoutConfig = new SpoutConfig(
      ImmutableList.of("kafkahost1", "kafkahost2"), // List of Kafka brokers
      8, // Number of partitions per host
      "clicks", // Topic to read from
      "/kafkastorm", // The root path in Zookeeper for the spout to store the consumer offsets
      "discovery"); // An id for this consumer for storing the consumer offsets in Zookeeper

KafkaSpout kafkaSpout = new KafkaSpout(spoutConfig);
于 2013-11-05T07:01:47.500 に答える