I am unable to connect to kafka running in container.
I have .env file
KAFKA_BROKER_ID=1
KAFKA_ENABLE_KRAFT=true
KAFKA_CFG_PROCESS_ROLES=broker,controller
KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER
KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=1@127.0.0.1:9094
ALLOW_PLAINTEXT_LISTENER=yes
KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=PLAINTEXT:PLAINTEXT,EXTERNAL:PLAINTEXT,CONTROLLER:PLAINTEXT
KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,EXTERNAL://:9093,CONTROLLER://:9094
KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://kafka:9092,EXTERNAL://localhost:9093
KAFKA_INTER_BROKER_LISTENER_NAME=PLAINTEXT
KAFKA_CFG_BROKER_ID=1
KAFKA_CFG_NODE_ID=1
KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE=true
KAFKA_CFG_MESSAGE_MAX_BYTES=5242880
KAFKA_CFG_MAX_REQUEST_SIZE=5242880
BITNAMI_DEBUG=true
KAFKA_CFG_DELETE_TOPIC_ENABLE=true
and running docker in workflow
docker run --name kafka-broker --env-file ./container-env.env -d bitnami/kafka:latest
I can see kafka server is stated properly.
I am trying to create kafka topic but not able to connect to kafka.
client = AdminClient(conf={"bootstrap.servers": "localhost:9093"})
topic_name = "test-topic"
new_topic = NewTopic(
topic=topic_name,
num_partitions=1,
replication_factor=1,
)
client.create_topics(new_topics=[new_topic])
topic_exists = False
while not topic_exists:
cluster_metadata = client.list_topics()
topics = cluster_metadata.topics
topic_exists = (new_topic.topic in topics.keys())
Am I missing any environment variable for using wrong ports here? Help would be apreciated