Kafka + Spring Boot с Docker [дубликат] ⇐ JAVA
-
Гость
Kafka + Spring Boot с Docker [дубликат]
Невозможно подключить Spring Boot к брокеру Kafka.
2023-10-11 09:39:19.164 WARN 1 --- [ntainer#0-0-C-1] org.apache.kafka.clients.NetworkClient : [Consumer clientId=consumer-my- group-id-1, groupId = my-group-id] Брокер начальной загрузки localhost: 9092 (идентификатор: -1 стойка: ноль) отключен 2023-10-11 09:39:20.118 WARN 1 --- [ntainer#0-0-C-1] org.apache.kafka.clients.NetworkClient: [Consumer clientId=consumer-my-group-id-1, groupId=my-group-id] Не удалось установить соединение с узлом -1 (localhost/127.0.0.1:9092). Брокер может быть недоступен. 2023-10-11 09:39:20.118 WARN 1 --- [ntainer#0-0-C-1] org.apache.kafka.clients.NetworkClient: [Consumer clientId=consumer-my-group-id-1, groupId=my-group-id] Брокер начальной загрузки localhost:9092 (идентификатор: -1 стойка: ноль) отключен 2023-10-11 09:39:21.306 WARN 1 --- [ntainer#0-0-C-1] org.apache.kafka.clients.NetworkClient: [Consumer clientId=consumer-my-group-id-1, groupId=my-group-id] Не удалось установить соединение с узлом -1 (localhost/127.0.0.1:9092). Брокер может быть недоступен. 2023-10-11 09:39:21.306 WARN 1 --- [ntainer#0-0-C-1] org.apache.kafka.clients.NetworkClient: [Consumer clientId=consumer-my-group-id-1, groupId=my-group-id] Брокер начальной загрузки localhost:9092 (идентификатор: -1 стойка: ноль) отключен docker-compose с тремя сервисами(zookeeper,kafka,findTeam(spring))
версия: '3' услуги: работник зоопарка: изображение: вурстмайстер/смотритель зоопарка порты: - «2181:2181» Кафка: изображение: Вюрстмейстер/Кафка порты: - «9092:9092» среда: HOSTNAME_COMMAND: "route -n | awk '/UG[ \t]/{print $$2}'" KAFKA_ZOOKEEPER_CONNECT: смотритель зоопарка: 2181 KAFKA_AUTO_CREATE_TOPICS_ENABLE: 'ложь' команда поиска: изображение: собачка разоблачать: - «9090» среда: - SPRING_DATASOURCE_URL=jdbc:mysql://localhost:8081/cleverDogzyBack?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC&useTimezone=true - SPRING_DATASOURCE_USERNAME=корень - SPRING_DATASOURCE_PASSWORD=red5PRO@action - SPRING_KAFKA_BOOTSTRAP_SERVERS=kafka:9092 порты: - 8026:9091 зависит от: - Кафка конфигурация Spring application.properties
Spring.kafka.bootstrap-servers=kafka:9092 Spring.kafka.consumer.group-id=идентификатор-моей-группы
конфигурация потребителя Spring
пакет infili.findTeam.configuration; импортировать org.apache.kafka.clients.consumer.ConsumerConfig; импортировать org.apache.kafka.common.serialization.StringDeserializer; импортировать org.springframework.context.annotation.Bean; импортировать org.springframework.context.annotation.Configuration; импортировать org.springframework.kafka.config.ConcurrentKafkaListenerContainerFactory; импортировать org.springframework.kafka.core.ConsumerFactory; импортировать org.springframework.kafka.core.DefaultKafkaConsumerFactory; импортировать java.util.HashMap; импортировать java.util.Map; @Конфигурация общественный класс KafkaConsumerConfig { @Бин public ConsumerFactory ConsumerFactory() { Map configProps = new HashMap(); configProps.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, "localhost:9092"); configProps.put(ConsumerConfig.GROUP_ID_CONFIG, "идентификатор моей группы"); configProps.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class); configProps.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class); вернуть новый DefaultKafkaConsumerFactory(configProps); } @Бин public ConcurrentKafkaListenerContainerFactory kafkaListenerContainerFactory() { Фабрика ConcurrentKafkaListenerContainerFactory = новый ConcurrentKafkaListenerContainerFactory(); Factory.setConsumerFactory(consumerFactory()); возврат на завод; } } Вот файл конфигурации производителя Spring
пакет infili.findTeam.configuration; импортировать org.apache.kafka.clients.producer.ProducerConfig; импортировать org.apache.kafka.common.serialization.StringSerializer; импортировать org.springframework.context.annotation.Bean; импортировать org.springframework.context.annotation.Configuration; импортировать org.springframework.kafka.core.DefaultKafkaProducerFactory; импортировать org.springframework.kafka.core.KafkaTemplate; импортировать org.springframework.kafka.core.ProducerFactory; импортировать java.util.HashMap; импортировать java.util.Map; @Конфигурация общественный класс KafkaProducerConfig { @Бин public ProducerFactory ProducerFactory() { Map configProps = new HashMap(); configProps.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, "localhost:9092"); configProps.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer.class); configProps.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, StringSerializer.class); вернуть новый DefaultKafkaProducerFactory(configProps); } @Бин public KafkaTemplate kafkaTemplate() { вернуть новый KafkaTemplate(producerFactory()); } } Помогите мне, пожалуйста, я хочу это исправить, чтобы перейти к другим вещам. Я думаю, что я делаю что-то не так с настройкой на стороне сервера (весенняя загрузка)
Невозможно подключить Spring Boot к брокеру Kafka.
2023-10-11 09:39:19.164 WARN 1 --- [ntainer#0-0-C-1] org.apache.kafka.clients.NetworkClient : [Consumer clientId=consumer-my- group-id-1, groupId = my-group-id] Брокер начальной загрузки localhost: 9092 (идентификатор: -1 стойка: ноль) отключен 2023-10-11 09:39:20.118 WARN 1 --- [ntainer#0-0-C-1] org.apache.kafka.clients.NetworkClient: [Consumer clientId=consumer-my-group-id-1, groupId=my-group-id] Не удалось установить соединение с узлом -1 (localhost/127.0.0.1:9092). Брокер может быть недоступен. 2023-10-11 09:39:20.118 WARN 1 --- [ntainer#0-0-C-1] org.apache.kafka.clients.NetworkClient: [Consumer clientId=consumer-my-group-id-1, groupId=my-group-id] Брокер начальной загрузки localhost:9092 (идентификатор: -1 стойка: ноль) отключен 2023-10-11 09:39:21.306 WARN 1 --- [ntainer#0-0-C-1] org.apache.kafka.clients.NetworkClient: [Consumer clientId=consumer-my-group-id-1, groupId=my-group-id] Не удалось установить соединение с узлом -1 (localhost/127.0.0.1:9092). Брокер может быть недоступен. 2023-10-11 09:39:21.306 WARN 1 --- [ntainer#0-0-C-1] org.apache.kafka.clients.NetworkClient: [Consumer clientId=consumer-my-group-id-1, groupId=my-group-id] Брокер начальной загрузки localhost:9092 (идентификатор: -1 стойка: ноль) отключен docker-compose с тремя сервисами(zookeeper,kafka,findTeam(spring))
версия: '3' услуги: работник зоопарка: изображение: вурстмайстер/смотритель зоопарка порты: - «2181:2181» Кафка: изображение: Вюрстмейстер/Кафка порты: - «9092:9092» среда: HOSTNAME_COMMAND: "route -n | awk '/UG[ \t]/{print $$2}'" KAFKA_ZOOKEEPER_CONNECT: смотритель зоопарка: 2181 KAFKA_AUTO_CREATE_TOPICS_ENABLE: 'ложь' команда поиска: изображение: собачка разоблачать: - «9090» среда: - SPRING_DATASOURCE_URL=jdbc:mysql://localhost:8081/cleverDogzyBack?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC&useTimezone=true - SPRING_DATASOURCE_USERNAME=корень - SPRING_DATASOURCE_PASSWORD=red5PRO@action - SPRING_KAFKA_BOOTSTRAP_SERVERS=kafka:9092 порты: - 8026:9091 зависит от: - Кафка конфигурация Spring application.properties
Spring.kafka.bootstrap-servers=kafka:9092 Spring.kafka.consumer.group-id=идентификатор-моей-группы
конфигурация потребителя Spring
пакет infili.findTeam.configuration; импортировать org.apache.kafka.clients.consumer.ConsumerConfig; импортировать org.apache.kafka.common.serialization.StringDeserializer; импортировать org.springframework.context.annotation.Bean; импортировать org.springframework.context.annotation.Configuration; импортировать org.springframework.kafka.config.ConcurrentKafkaListenerContainerFactory; импортировать org.springframework.kafka.core.ConsumerFactory; импортировать org.springframework.kafka.core.DefaultKafkaConsumerFactory; импортировать java.util.HashMap; импортировать java.util.Map; @Конфигурация общественный класс KafkaConsumerConfig { @Бин public ConsumerFactory ConsumerFactory() { Map configProps = new HashMap(); configProps.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, "localhost:9092"); configProps.put(ConsumerConfig.GROUP_ID_CONFIG, "идентификатор моей группы"); configProps.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class); configProps.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class); вернуть новый DefaultKafkaConsumerFactory(configProps); } @Бин public ConcurrentKafkaListenerContainerFactory kafkaListenerContainerFactory() { Фабрика ConcurrentKafkaListenerContainerFactory = новый ConcurrentKafkaListenerContainerFactory(); Factory.setConsumerFactory(consumerFactory()); возврат на завод; } } Вот файл конфигурации производителя Spring
пакет infili.findTeam.configuration; импортировать org.apache.kafka.clients.producer.ProducerConfig; импортировать org.apache.kafka.common.serialization.StringSerializer; импортировать org.springframework.context.annotation.Bean; импортировать org.springframework.context.annotation.Configuration; импортировать org.springframework.kafka.core.DefaultKafkaProducerFactory; импортировать org.springframework.kafka.core.KafkaTemplate; импортировать org.springframework.kafka.core.ProducerFactory; импортировать java.util.HashMap; импортировать java.util.Map; @Конфигурация общественный класс KafkaProducerConfig { @Бин public ProducerFactory ProducerFactory() { Map configProps = new HashMap(); configProps.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, "localhost:9092"); configProps.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer.class); configProps.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, StringSerializer.class); вернуть новый DefaultKafkaProducerFactory(configProps); } @Бин public KafkaTemplate kafkaTemplate() { вернуть новый KafkaTemplate(producerFactory()); } } Помогите мне, пожалуйста, я хочу это исправить, чтобы перейти к другим вещам. Я думаю, что я делаю что-то не так с настройкой на стороне сервера (весенняя загрузка)
Мобильная версия