I am getting the following error:
WARNING kafka.conn:conn.py:1527 DNS lookup failed for kafka:9092, exception was [Errno -3] Temporary failure in name resolution. Is your advertised.listeners (called advertised.host.name before Kafka 9) correct and resolvable? ERROR kafka.conn:conn.py:315 DNS lookup failed for kafka:9092 (AddressFamily.AF_UNSPEC)
And : 2022-12-07T20:06:57+0000|/usr/local/lib/python3.9/site-packages/kafka/conn.py:418|ERROR|Connect attempt to <BrokerConnection node_id=bootstrap-0 host=kafka:9092 [IPv4 ('171.15.0.1', 9092)]> returned error 111. Disconnecting.
My docker compose: is the following
zookeeper:
image: confluentinc/cp-zookeeper:latest
networks:
- app_network
environment:
ZOOKEEPER_CLIENT_PORT: 2181
ZOOKEEPER_TICK_TIME: 2000
ports:
- 22181:2181
kafka:
image: confluentinc/cp-kafka:latest
container_name: kafka
depends_on:
- zookeeper
ports:
- 29092:29092
environment:
KAFKA_BROKER_ID: 1
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092,PLAINTEXT_HOST://localhost:29092
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
networks:
- app_network
pythonapp:
build: ../../
container_name: myapp
networks:
- app_network
depends_on:
- kafka
networks:
app_network:
driver: bridge
And My python consumer code is the following:
def kafka_consume(self):
consumer = KafkaConsumer(
self.topic_name,
auto_offset_reset='earliest',
bootstrap_servers=['kafka:9092'],
api_version=(0, 10),
consumer_timeout_ms=1000
)
consumer.subscribe([self.topic_name])
Any idea?
The ping inside the kafka container works properly.