がhereKafka 0.8では、Javaコードを使用してパーティションとレプリケーションでトピックを作成できますか?カフカで
bin/kafka-create-topic.sh --zookeeper localhost:2181 --replica 2 --partition 3 --topic test
述べたようにトピックは以下のようなコマンドを使用して作成することができます0.8beta上記のコマンドは、3つのパーティションおよびパーティションごとに2つのレプリカと「テスト」という名前のトピックを作成します。
Javaを使用して同じことを実行できますか?
これまでのところ私が見つけたのJavaを使用している
Producer<String, String> producer = new Producer<String, String>(config);
producer.send(new KeyedMessage<String, String>("mytopic", msg));
の下に見られるように、私たちは、これは、パーティションの数は「num.partitions」属性を使用して指定して「mytopic」という名前のトピックを作成しますプロデューサーを作成することができます生産を開始する。
しかし、パーティションとレプリケーションも定義する方法はありますか?そのような例は見つけられませんでした。もしそれができないならば、以前はパーティションと複製を持つトピックを作成してから、そのトピック内でメッセージを生成するためにプロデューサを使用する必要があります。たとえば、同じ方法で(ただしnum.partitions属性をオーバーライドして)異なる数のパーティションを使用して「mytopic」を作成したい場合は可能でしょうか?
.partitions'属性を設定ファイルに追加します。カスタムパーティションでトピックを作成するには、上記のようにコンソールスクリプトを使用するしかないと思います。その場合、トピックは前に作成されなければならず、次にプロデューサは同じものを作成することができます。 – Hild
私は以下のリンク[Javaを使用してカフカトピックを作成]で同じ問題に応答しました(http://stackoverflow.com/questions/16946778/how-can-we-create-a-topic-in-kafka-from-the -ide-using-api/18480684#18480684)さらにヘルプやコードスニペットが必要な場合。コードをMaven依存関係と共有することを教えてください – Biks