Hello i use the following configuration for Kafka using docker compose
compose_kafka.yml
version: '3'
services:
zookeeper:
image: wurstmeister/zookeeper
container_name: zookeeper
ports:
- "2181:2181"
environment:
ZOO_MY_ID: 1
kafka:
image: wurstmeister/kafka
container_name: kafka
ports:
- "9092:9092"
environment:
KAFKA_ADVERTISED_HOST_NAME: 192.168.1.10
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
kafka_manager:
image: kafkamanager/kafka-manager
container_name: kafka-manager
restart: always
ports:
- "9000:9000"
environment:
ZK_HOSTS: "192.168.1.10:2181"
APPLICATION_SECRET: "random-secret"
I create a producer which produces messages to the kafka server
Generate.py
from faker import Faker
fake = Faker()
class Registered_user:
def get_registered_user():
return {
"name": fake.name(),
"address": fake.address(),
"created_at": fake.year()
}
Producer_registered_user.py
import time
import json
from kafka import KafkaProducer
from fake_data import Generate
def json_serializer(data):
return json.dumps(data).encode("utf-8")
producer = KafkaProducer(bootstrap_servers='192.168.1.10:9092',
value_serializer=json_serializer)
if __name__ == '__main__':
while 1 == 1:
user = Generate.Registered_user.get_registered_user()
producer.send('registered_user', user)
print(user)
time.sleep(4)
But the consumer does not receive any messages:
Could you please help me with this problem?