I am following Spring Boot and Kafka tutorials from: https://www.udemy.com/course/apache-kafka-with-java-spring-boot-theory-hands-on-coding/learn/lecture/15262698#questions/11033822 and have installed Docker Desktop on my windows machine.
When I am running the producer its not connecting to Kafka. Is there anything we need to do to map windows and linux docker port?
[2m2021-11-11 22:24:14.355[0;39m [33m WARN[0;39m [35m6944[0;39m [2m---[0;39m [2m[ad | producer-1][0;39m [36morg.apache.kafka.clients.NetworkClient [0;39m [2m:[0;39m [Producer clientId=producer-1] Bootstrap broker localhost:9092 (id: -1 rack: null) disconnected
[2m2021-11-11 22:24:35.493[0;39m [33m WARN[0;39m [35m6944[0;39m [2m---[0;39m [2m[ad | producer-1][0;39m [36morg.apache.kafka.clients.NetworkClient [0;39m [2m:[0;39m [Producer clientId=producer-1] Bootstrap broker localhost:9092 (id: -1 rack: null) disconnected
[2m2021-11-11 22:24:40.987[0;39m [32m INFO[0;39m [35m6944[0;39m [2m---[0;39m [2m[on(2)-127.0.0.1][0;39m [36minMXBeanRegistrar$SpringApplicationAdmin[0;39m [2m:[0;39m Application shutdown requested.
[2m2021-11-11 22:24:40.990[0;39m [32m INFO[0;39m [35m6944[0;39m [2m---[0;39m [2m[on(2)-127.0.0.1][0;39m [36mo.a.k.clients.producer.KafkaProducer [0;39m [2m:[0;39m [Producer clientId=producer-1] Closing the Kafka producer with timeoutMillis = 30000 ms.
[2m2021-11-11 22:24:56.633[0;39m [33m WARN[0;39m [35m6944[0;39m [2m---[0;39m [2m[ad | producer-1][0;39m [36morg.apache.kafka.clients.NetworkClient [0;39m [2m:[0;39m [Producer clientId=producer-1] Bootstrap broker localhost:9092 (id: -1 rack: null) disconnected
[2m2021-11-11 22:24:56.644[0;39m [32m INFO[0;39m [35m6944[0;39m [2m---[0;39m [2m[on(2)-127.0.0.1][0;39m [36morg.apache.kafka.common.metrics.Metrics [0;39m [2m:[0;39m Metrics scheduler closed
[2m2021-11-11 22:24:56.645[0;39m [32m INFO[0;39m [35m6944[0;39m [2m---[0;39m [2m[on(2)-127.0.0.1][0;39m [36morg.apache.kafka.common.metrics.Metrics [0;39m [2m:[0;39m Closing reporter org.apache.kafka.common.metrics.JmxReporter
[2m2021-11-11 22:24:56.645[0;39m [32m INFO[0;39m [35m6944[0;39m [2m---[0;39m [2m[on(2)-127.0.0.1][0;39m [36morg.apache.kafka.common.metrics.Metrics [0;39m [2m:[0;39m Metrics reporters closed
[2m2021-11-11 22:24:56.645[0;39m [32m INFO[0;39m [35m6944[0;39m [2m---[0;39m [2m[on(2)-127.0.0.1][0;39m [36mo.a.kafka.common.utils.AppInfoParser [0;39m [2m:[0;39m App info kafka.producer for producer-1 unregistered
I used docker-compose.yml file for setup
version: "3.7"
networks:
kafka-net:
name: kafka-net
driver: bridge
services:
zookeeper:
image: zookeeper:3.7.0
container_name: zookeeper
restart: always
networks:
- kafka-net
ports:
- "2181:2181"
volumes:
- E:/development/kafka/docker-data/zookeeper:/bitnami/zookeeper
kafka:
image: wurstmeister/kafka:2.13-2.7.0
container_name: kafka
restart: always
networks:
- kafka-net
ports:
- "9092:9092"
volumes:
- E:/development/kafka/docker-data/kafka:/bitnami/kafka
environment:
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: DOCKER_INTERNAL:PLAINTEXT,DOCKER_EXTERNAL:PLAINTEXT
KAFKA_LISTENERS: DOCKER_INTERNAL://:29092,DOCKER_EXTERNAL://0.0.0.0:9092
KAFKA_ADVERTISED_LISTENERS: DOCKER_INTERNAL://kafka:29092,DOCKER_EXTERNAL://${DOCKER_HOST_IP:-127.0.0.1}:9092
KAFKA_INTER_BROKER_LISTENER_NAME: DOCKER_INTERNAL
KAFKA_ZOOKEEPER_CONNECT: "zookeeper:2181"
KAFKA_BROKER_ID: 1
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
depends_on:
- zookeeper
Here is documented - https://github.com/javaHelper/Kafka-Kafka-Stream-With-Java-Spring-Boot-/blob/main/README.md
Below is the code Spring
@Service
public class HelloKafkaProducer {
@Autowired
private KafkaTemplate<String, String> kafkaTemplate;
public void sendHello(String name) {
kafkaTemplate.send("t_hello", "Hello " + name);
}
}
nothing added in the application.yml as it should connect to localhost:9092 automativcally