2017-11-06 18 views
2

私はkafkaトピックを作成するためにkafka-node link apiを使用しています。パーティションを使ってカフカのトピックを作成する方法が見つかりませんでした。nodejsにパーティションを持つkafkaトピックを作成するには?

var kafka = require('kafka-node'), 
    Producer = kafka.Producer, 
    client = new kafka.Client(), 
    producer = new Producer(client); 
// Create topics sync 
producer.createTopics(['t','t1'], false, function (err, data) { 
    console.log(data); 
}); 
// Create topics async 
producer.createTopics(['t'], true, function (err, data) {}); 

producer.createTopics(['t'], function (err, data) {});// Simply omit 2nd arg 

nodejsのパーティションでkafkaトピックを作成する方法。

答えて

1

文書で説明したように、この方法はauto.create.topics.enabletrueに設定されている場合にのみ機能します。

このメソッドはカフカサーバー上のトピックを作成するために使用されます。これは、Kafkaサーバーのauto.create.topics.enableがtrueに設定されている場合にのみ機能します。私たちのクライアントは単にトピックを自動的に作成するサーバーにメタデータ要求を送信します。 asyncがfalseに設定されている場合、このメソッドはすべてのトピックが作成されるまで戻りません。それ以外の場合はすぐに戻ります。

これは、未知のトピックに対する操作が、num.partitionsパラメータで構成されたデフォルトのパーティション数で作成されることを意味します。

私はよく分かりませんが、node-rdkafkaの実装のうちの1つで、対応するlibrdkafkaメソッドをトピックの作成に呼び出すことができますか?あなたのNode.jsアプリから

+1

'librdkafka'はまだトピック管理APIをサポートしていません。 –

+0

あなたは正しいミカエルです! –

2

シェルスクリプト$ KAFKA_HOME/binに/ kafka-topics.sh -create -t​​opicます。topicName -partitions 8:レプリケーションファクタ1 -zookeeper localhostを実行します。2181年は

$ KAFKA_HOMEがありますあなたがKafkaをインストールした場所

+0

nodejsコードでやりたい – lucy

+0

できません。誰かがKafka AdminClient APIをサポートするノードクライアントを作るまではありません。 –

関連する問題