1

We are doing a stateful operation. Our cluster is managed. Everytime for internal topic creation , we have to ask admin guys to unlock so that internal topics can be created by the kafka stream app. We have control over target cluster not source cluster.

So, wanted to understand which cluster - source/ target are internal topics created?

Shweta Gulati
  • 526
  • 6
  • 15

3 Answers3

2

AFAIK, There is only one cluster that the kafka-streams app connects to and all topics source/target/internal are created there.

Dhiraj
  • 542
  • 6
  • 14
2

So far, Kafka Stream applications can support connection to only one cluster as defined in the BOOTSTRAP_SERVERS_CONFIG in Stream configurations.

As answered above also, all source topics reside in those brokers and all internal topics(changelog/repartition topics) are created in the same cluster. KStream app will create the target topic in the same cluster as well.

It will be worth looking into the server logs to understand and analyze the actual root cause.

Nishu Tayal
  • 18,079
  • 8
  • 44
  • 90
2

As the other answers suggest there should be only one cluster that the Kafka Stream application connects to. Internal topics are created by the Kafka stream application and will only be used by the application that created it. However, there could be some configuration related to security set on the Broker side which could be preventing the streaming application from creating these topics:

If security is enabled on the Kafka brokers, you must grant the underlying clients admin permissions so that they can create internal topics set. For more information, see Streams Security.

Quoted from here

Another point to keep in mind is that the internal topics are automatically created by the Stream application and there is no explicit configuration for auto creation of internal topics.