2017-12-17 10 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를 실행하는 클라이언트는 카프카와 카프카 - 스트림

답변

3

클라이언트 /에서/쓰기 읽기를 시도하는 경우 auto.create.topics.enable에만 적용되는 설정 모두에 1.0.0을 실행 존재하지 않는 주제 (또는 존재하지 않는 주제에 대한 메타 데이터 조회).

카프카 스트림 (Kafka Streams)은 CreateTopic 요청으로 명시 적으로 항목을 생성하므로 auto.create.topics.enable이 적용되지 않습니다. https://kafka.apache.org/0101/documentation.html#security_authz

참고 : 새 항목을 만들 카프카 스트림을 사용하는 팀을 허용하는 경우, 당신이 그 (것)들을 위해 열심히 그것을 만들

당신은 주제를 만들 수있는 사용자를 제어하기 위해 클러스터에 대한 몇 가지 ACL을 설정할 수 있습니다 Kafka Streams 사용. Kafka Streams는 이러한 주제가 없으면 작동 할 수 없으므로 Kafka Streams 응용 프로그램을 중단하지 않도록 수동으로 (올바른 구성으로) 이러한 항목을 만들어야합니다.