2017-12-17 7 views
1

私たちは最近、新しいトピックの束で汚染された生産カフカクラスターを持っています。カフカのクラスタは、次の設定があります。調査時KafkaStream createTopicはKafkaサーバーのauto.create.topics.enable設定を尊重していません

auto.create.topics.enable=false 
delete.topic.enable=false 

、私はこれらのトピックはKafkaStreamのcreateTopicメソッドを使用しているクライアントのチームによって作成されたことがわかった。 org.apache.kafka.streams.integration.utils.EmbeddedKafkaCluster#createTopic(java.lang.String, int, int)

これはそのKafkaStreamのトピックを意味するものではありませんサーバー側のブローカーの設定がauto.create.topics.enableになっていませんか?これは、createTopic*のメソッドが自動トピック作成とみなされないことを意味しますか?もしそうなら、クライアントチームがプログラムでカフカクラスターのトピックを作成するのを止めるにはどうしたらいいですか?

編集:カフカのクラスタは10.1.1を実行していると、クライアントは、クライアントがへ/からのリード/ライトをしようとした場合に設定auto.create.topics.enableにのみ適用されカフカとカフカストリーム

答えて

3

の両方のために1.0.0を実行しています存在しないトピック(または存在しないトピックのメタデータのクエリ)。

Kafka Streamsは、CreateTopic要求で明示的にトピックを作成するため、auto.create.topics.enableは適用されません。 https://kafka.apache.org/0101/documentation.html#security_authz

注:新しいトピックを作成するために、カフカのストリームを使用してチームを許可しない場合、あなたは彼らのために非常に懸命にそれを作る

あなたはトピックを作成できるユーザーを制御するために、クラスタのためのいくつかのACLを設定することができますカフカストリームを使用する。 Kafka Streamsはこれらのトピックがなくては操作できず、Kafka Streamsアプリケーションを中断しないように手動で(正しい設定で)トピックを作成する必要があります。

関連する問題