gpt4 book ai didi

spring-boot - 本地docker服务的Spring Boot Kafka连接问题

转载 作者:行者123 更新时间:2023-12-02 20:42:11 26 4
gpt4 key购买 nike

我正在使用 docker 在本地机器 (mac os) 上启动 kafka 和 zookeper 服务。这是我的 docker-compose.yml 文件;

version: '3'

services:
zookeeper:
image: wurstmeister/zookeeper
ports:
- "2181:2181"

kafka:
image: wurstmeister/kafka
ports:
- "9092"
environment:
KAFKA_ADVERTISED_HOST_NAME: 10.200.10.1
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
volumes:
- /var/run/docker.sock:/var/run/docker.sock

10.200.10.1 :这是我的 docker 主机 ip。我通过这个命令找到它;

ifconfig | grep -E "([0-9]{1,3}\.){3}[0-9]{1,3}" | grep -v 127.0.0.1 | awk '{ print $2 }' | cut -f2 -d: | head -n1

我可以通过 ; 在 docker 容器中创建主题;

kafka-topics.sh --bootstrap-server :9092 --create --topic topic1 --partitions 1 --replication-factor 1

并通过以下方式启动生产者:

kafka-console-consumer.sh --bootstrap-server :9092 --group sam --topic topic1

并通过以下方式启动消费者:

kafka-console-producer.sh --broker-list :9092 --topic topic1

没有问题,终端上一切正常;我可以通过生产者发送消息并在消费者上接收它。

但是我无法通过下面描述的 Spring Boot 应用程序发送消息;

应用.yml文件;

spring:
kafka:
producer:
bootstrap-servers: 0.0.0.0:9092

卡夫卡配置;

@Configuration
public class KafkaConfiguration {

@Value("${spring.kafka.producer.bootstrap-servers}")
private String bootstrapAddress;

@Bean
public ProducerFactory<String, String> producerFactory() {
Map<String, Object> configProps = new HashMap<>();
configProps.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, bootstrapAddress);
configProps.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer.class);
configProps.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, StringSerializer.class);
return new DefaultKafkaProducerFactory<>(configProps);
}

@Bean
public KafkaTemplate<String, String> kafkaTemplate() {
return new KafkaTemplate<>(producerFactory());
}
}

我正在我的生产者上使用这个 sendSms 函数;

@Slf4j
@Component
@RequiredArgsConstructor
public class MessageProducer {

private final KafkaTemplate kafkaTemplate;

public void sendSms(String sms) {
kafkaTemplate.send("topic1", sms)
.addCallback(new ListenableFutureCallback<SendResult<String, String>>() {
@Override
public void onSuccess(SendResult<String, String> result) {
log.info("Message '{}' sent to kafka with offset : {}", sms, result.getRecordMetadata().offset());
}

@Override
public void onFailure(Throwable ex) {
log.error("Enable to send to message : {}. ex : {}", sms, ex.getMessage());
}
});
}

}

当我尝试发送消息时,出现此错误;

java.net.ConnectException: Connection refused
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) ~[na:1.8.0_201]
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717) ~[na:1.8.0_201]
at org.apache.kafka.common.network.PlaintextTransportLayer.finishConnect(PlaintextTransportLayer.java:50) ~[kafka-clients-2.3.1.jar:na]
at org.apache.kafka.common.network.KafkaChannel.finishConnect(KafkaChannel.java:216) ~[kafka-clients-2.3.1.jar:na]
at org.apache.kafka.common.network.Selector.pollSelectionKeys(Selector.java:531) [kafka-clients-2.3.1.jar:na]
at org.apache.kafka.common.network.Selector.poll(Selector.java:483) [kafka-clients-2.3.1.jar:na]
at org.apache.kafka.clients.NetworkClient.poll(NetworkClient.java:539) [kafka-clients-2.3.1.jar:na]
at org.apache.kafka.clients.producer.internals.Sender.runOnce(Sender.java:335) [kafka-clients-2.3.1.jar:na]
at org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:244) [kafka-clients-2.3.1.jar:na]
at java.lang.Thread.run(Thread.java:748) [na:1.8.0_201]

2020-05-17 19:53:06.210 DEBUG 15739 --- [ad | producer-1] org.apache.kafka.clients.NetworkClient : [Producer clientId=producer-1] Node -1 disconnected.
2020-05-17 19:53:06.210 WARN 15739 --- [ad | producer-1] org.apache.kafka.clients.NetworkClient : [Producer clientId=producer-1] Connection to node -1 (/0.0.0.0:9092) could not be established. Broker may not be available.
2020-05-17 19:53:06.210 DEBUG 15739 --- [ad | producer-1] org.apache.kafka.clients.NetworkClient : [Producer clientId=producer-1] Give up sending metadata request since no node is available
2020-05-17 19:53:06.265 DEBUG 15739 --- [ad | producer-1] org.apache.kafka.clients.NetworkClient : [Producer clientId=producer-1] Give up sending metadata request since no node is available
2020-05-17 19:53:06.319 DEBUG 15739 --- [ad | producer-1] org.apache.kafka.clients.NetworkClient : [Producer clientId=producer-1] Initialize connection to node 0.0.0.0:9092 (id: -1 rack: null) for sending metadata request
2020-05-17 19:53:06.320 DEBUG 15739 --- [ad | producer-1] org.apache.kafka.clients.NetworkClient : [Producer clientId=producer-1] Initiating connection to node 0.0.0.0:9092 (id: -1 rack: null) using address /0.0.0.0
2020-05-17 19:53:06.320 DEBUG 15739 --- [ad | producer-1] o.apache.kafka.common.network.Selector : [Producer clientId=producer-1] Connection with /0.0.0.0 disconnected

java.net.ConnectException: Connection refused
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) ~[na:1.8.0_201]
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717) ~[na:1.8.0_201]
at org.apache.kafka.common.network.PlaintextTransportLayer.finishConnect(PlaintextTransportLayer.java:50) ~[kafka-clients-2.3.1.jar:na]
at org.apache.kafka.common.network.KafkaChannel.finishConnect(KafkaChannel.java:216) ~[kafka-clients-2.3.1.jar:na]
at org.apache.kafka.common.network.Selector.pollSelectionKeys(Selector.java:531) [kafka-clients-2.3.1.jar:na]
at org.apache.kafka.common.network.Selector.poll(Selector.java:483) [kafka-clients-2.3.1.jar:na]
at org.apache.kafka.clients.NetworkClient.poll(NetworkClient.java:539) [kafka-clients-2.3.1.jar:na]
at org.apache.kafka.clients.producer.internals.Sender.runOnce(Sender.java:335) [kafka-clients-2.3.1.jar:na]
at org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:244) [kafka-clients-2.3.1.jar:na]
at java.lang.Thread.run(Thread.java:748) [na:1.8.0_201]

这是整个日志输出;

  .   ____          _            __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v2.2.7.RELEASE)

2020-05-17 19:52:57.176 INFO 15739 --- [ restartedMain] .p.SpringKafkaProducerExampleApplication : Starting SpringKafkaProducerExampleApplication on sam-MacBook-Pro.local with PID 15739 (/Users/sam/Downloads/kafka-hello/spring-kafka-producer-example/build/classes/java/main started by sam in /Users/sam/Downloads/kafka-hello/spring-kafka-producer-example)
2020-05-17 19:52:57.180 INFO 15739 --- [ restartedMain] .p.SpringKafkaProducerExampleApplication : No active profile set, falling back to default profiles: default
2020-05-17 19:52:57.231 INFO 15739 --- [ restartedMain] .e.DevToolsPropertyDefaultsPostProcessor : Devtools property defaults active! Set 'spring.devtools.add-properties' to 'false' to disable
2020-05-17 19:52:57.231 INFO 15739 --- [ restartedMain] .e.DevToolsPropertyDefaultsPostProcessor : For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG'
2020-05-17 19:52:58.111 INFO 15739 --- [ restartedMain] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8081 (http)
2020-05-17 19:52:58.120 INFO 15739 --- [ restartedMain] o.apache.catalina.core.StandardService : Starting service [Tomcat]
2020-05-17 19:52:58.120 INFO 15739 --- [ restartedMain] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.34]
2020-05-17 19:52:58.181 INFO 15739 --- [ restartedMain] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
2020-05-17 19:52:58.181 INFO 15739 --- [ restartedMain] o.s.web.context.ContextLoader : Root WebApplicationContext: initialization completed in 950 ms
2020-05-17 19:52:58.373 INFO 15739 --- [ restartedMain] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor'
2020-05-17 19:52:58.562 INFO 15739 --- [ restartedMain] o.s.b.d.a.OptionalLiveReloadServer : LiveReload server is running on port 35729
2020-05-17 19:52:58.610 INFO 15739 --- [ restartedMain] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8081 (http) with context path ''
2020-05-17 19:52:58.614 INFO 15739 --- [ restartedMain] .p.SpringKafkaProducerExampleApplication : Started SpringKafkaProducerExampleApplication in 1.878 seconds (JVM running for 2.602)
2020-05-17 19:53:04.243 INFO 15739 --- [nio-8081-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet'
2020-05-17 19:53:04.243 INFO 15739 --- [nio-8081-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet'
2020-05-17 19:53:04.248 INFO 15739 --- [nio-8081-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 5 ms
2020-05-17 19:53:06.105 INFO 15739 --- [nio-8081-exec-1] c.s.e.kafka.producer.MessageController : Message request received : sam
2020-05-17 19:53:06.130 INFO 15739 --- [nio-8081-exec-1] o.a.k.clients.producer.ProducerConfig : ProducerConfig values:
acks = 1
batch.size = 16384
bootstrap.servers = [0.0.0.0:9092]
buffer.memory = 33554432
client.dns.lookup = default
client.id =
compression.type = none
connections.max.idle.ms = 540000
delivery.timeout.ms = 120000
enable.idempotence = false
interceptor.classes = []
key.serializer = class org.apache.kafka.common.serialization.StringSerializer
linger.ms = 0
max.block.ms = 60000
max.in.flight.requests.per.connection = 5
max.request.size = 1048576
metadata.max.age.ms = 300000
metric.reporters = []
metrics.num.samples = 2
metrics.recording.level = INFO
metrics.sample.window.ms = 30000
partitioner.class = class org.apache.kafka.clients.producer.internals.DefaultPartitioner
receive.buffer.bytes = 32768
reconnect.backoff.max.ms = 1000
reconnect.backoff.ms = 50
request.timeout.ms = 30000
retries = 2147483647
retry.backoff.ms = 100
sasl.client.callback.handler.class = null
sasl.jaas.config = null
sasl.kerberos.kinit.cmd = /usr/bin/kinit
sasl.kerberos.min.time.before.relogin = 60000
sasl.kerberos.service.name = null
sasl.kerberos.ticket.renew.jitter = 0.05
sasl.kerberos.ticket.renew.window.factor = 0.8
sasl.login.callback.handler.class = null
sasl.login.class = null
sasl.login.refresh.buffer.seconds = 300
sasl.login.refresh.min.period.seconds = 60
sasl.login.refresh.window.factor = 0.8
sasl.login.refresh.window.jitter = 0.05
sasl.mechanism = GSSAPI
security.protocol = PLAINTEXT
send.buffer.bytes = 131072
ssl.cipher.suites = null
ssl.enabled.protocols = [TLSv1.2, TLSv1.1, TLSv1]
ssl.endpoint.identification.algorithm = https
ssl.key.password = null
ssl.keymanager.algorithm = SunX509
ssl.keystore.location = null
ssl.keystore.password = null
ssl.keystore.type = JKS
ssl.protocol = TLS
ssl.provider = null
ssl.secure.random.implementation = null
ssl.trustmanager.algorithm = PKIX
ssl.truststore.location = null
ssl.truststore.password = null
ssl.truststore.type = JKS
transaction.timeout.ms = 60000
transactional.id = null
value.serializer = class org.apache.kafka.common.serialization.StringSerializer

2020-05-17 19:53:06.143 DEBUG 15739 --- [nio-8081-exec-1] org.apache.kafka.common.metrics.Metrics : Added sensor with name bufferpool-wait-time
2020-05-17 19:53:06.148 DEBUG 15739 --- [nio-8081-exec-1] org.apache.kafka.common.metrics.Metrics : Added sensor with name buffer-exhausted-records
2020-05-17 19:53:06.153 DEBUG 15739 --- [nio-8081-exec-1] org.apache.kafka.common.metrics.Metrics : Added sensor with name errors
2020-05-17 19:53:06.158 DEBUG 15739 --- [nio-8081-exec-1] org.apache.kafka.common.metrics.Metrics : Added sensor with name produce-throttle-time
2020-05-17 19:53:06.163 DEBUG 15739 --- [nio-8081-exec-1] org.apache.kafka.common.metrics.Metrics : Added sensor with name connections-closed:
2020-05-17 19:53:06.164 DEBUG 15739 --- [nio-8081-exec-1] org.apache.kafka.common.metrics.Metrics : Added sensor with name connections-created:
2020-05-17 19:53:06.164 DEBUG 15739 --- [nio-8081-exec-1] org.apache.kafka.common.metrics.Metrics : Added sensor with name successful-authentication:
2020-05-17 19:53:06.164 DEBUG 15739 --- [nio-8081-exec-1] org.apache.kafka.common.metrics.Metrics : Added sensor with name successful-reauthentication:
2020-05-17 19:53:06.164 DEBUG 15739 --- [nio-8081-exec-1] org.apache.kafka.common.metrics.Metrics : Added sensor with name successful-authentication-no-reauth:
2020-05-17 19:53:06.165 DEBUG 15739 --- [nio-8081-exec-1] org.apache.kafka.common.metrics.Metrics : Added sensor with name failed-authentication:
2020-05-17 19:53:06.165 DEBUG 15739 --- [nio-8081-exec-1] org.apache.kafka.common.metrics.Metrics : Added sensor with name failed-reauthentication:
2020-05-17 19:53:06.165 DEBUG 15739 --- [nio-8081-exec-1] org.apache.kafka.common.metrics.Metrics : Added sensor with name reauthentication-latency:
2020-05-17 19:53:06.165 DEBUG 15739 --- [nio-8081-exec-1] org.apache.kafka.common.metrics.Metrics : Added sensor with name bytes-sent-received:
2020-05-17 19:53:06.166 DEBUG 15739 --- [nio-8081-exec-1] org.apache.kafka.common.metrics.Metrics : Added sensor with name bytes-sent:
2020-05-17 19:53:06.166 DEBUG 15739 --- [nio-8081-exec-1] org.apache.kafka.common.metrics.Metrics : Added sensor with name bytes-received:
2020-05-17 19:53:06.167 DEBUG 15739 --- [nio-8081-exec-1] org.apache.kafka.common.metrics.Metrics : Added sensor with name select-time:
2020-05-17 19:53:06.167 DEBUG 15739 --- [nio-8081-exec-1] org.apache.kafka.common.metrics.Metrics : Added sensor with name io-time:
2020-05-17 19:53:06.170 DEBUG 15739 --- [nio-8081-exec-1] org.apache.kafka.common.metrics.Metrics : Added sensor with name batch-size
2020-05-17 19:53:06.171 DEBUG 15739 --- [nio-8081-exec-1] org.apache.kafka.common.metrics.Metrics : Added sensor with name compression-rate
2020-05-17 19:53:06.171 DEBUG 15739 --- [nio-8081-exec-1] org.apache.kafka.common.metrics.Metrics : Added sensor with name queue-time
2020-05-17 19:53:06.171 DEBUG 15739 --- [nio-8081-exec-1] org.apache.kafka.common.metrics.Metrics : Added sensor with name request-time
2020-05-17 19:53:06.172 DEBUG 15739 --- [nio-8081-exec-1] org.apache.kafka.common.metrics.Metrics : Added sensor with name records-per-request
2020-05-17 19:53:06.172 DEBUG 15739 --- [nio-8081-exec-1] org.apache.kafka.common.metrics.Metrics : Added sensor with name record-retries
2020-05-17 19:53:06.172 DEBUG 15739 --- [nio-8081-exec-1] org.apache.kafka.common.metrics.Metrics : Added sensor with name record-size
2020-05-17 19:53:06.173 DEBUG 15739 --- [nio-8081-exec-1] org.apache.kafka.common.metrics.Metrics : Added sensor with name batch-split-rate
2020-05-17 19:53:06.174 DEBUG 15739 --- [ad | producer-1] o.a.k.clients.producer.internals.Sender : [Producer clientId=producer-1] Starting Kafka producer I/O thread.
2020-05-17 19:53:06.176 INFO 15739 --- [nio-8081-exec-1] o.a.kafka.common.utils.AppInfoParser : Kafka version: 2.3.1
2020-05-17 19:53:06.177 INFO 15739 --- [nio-8081-exec-1] o.a.kafka.common.utils.AppInfoParser : Kafka commitId: 18a913733fb71c01
2020-05-17 19:53:06.177 INFO 15739 --- [nio-8081-exec-1] o.a.kafka.common.utils.AppInfoParser : Kafka startTimeMs: 1589741586174
2020-05-17 19:53:06.178 DEBUG 15739 --- [nio-8081-exec-1] o.a.k.clients.producer.KafkaProducer : [Producer clientId=producer-1] Kafka producer started
2020-05-17 19:53:06.179 DEBUG 15739 --- [nio-8081-exec-1] o.s.k.core.DefaultKafkaProducerFactory : Created new Producer: CloseSafeProducer [delegate=org.apache.kafka.clients.producer.KafkaProducer@4f619fb3]
2020-05-17 19:53:06.185 DEBUG 15739 --- [ad | producer-1] org.apache.kafka.clients.NetworkClient : [Producer clientId=producer-1] Initialize connection to node 0.0.0.0:9092 (id: -1 rack: null) for sending metadata request
2020-05-17 19:53:06.187 DEBUG 15739 --- [ad | producer-1] org.apache.kafka.clients.NetworkClient : [Producer clientId=producer-1] Initiating connection to node 0.0.0.0:9092 (id: -1 rack: null) using address /0.0.0.0
2020-05-17 19:53:06.194 DEBUG 15739 --- [ad | producer-1] org.apache.kafka.common.metrics.Metrics : Added sensor with name node--1.bytes-sent
2020-05-17 19:53:06.195 DEBUG 15739 --- [ad | producer-1] org.apache.kafka.common.metrics.Metrics : Added sensor with name node--1.bytes-received
2020-05-17 19:53:06.195 DEBUG 15739 --- [ad | producer-1] org.apache.kafka.common.metrics.Metrics : Added sensor with name node--1.latency
2020-05-17 19:53:06.208 DEBUG 15739 --- [ad | producer-1] o.apache.kafka.common.network.Selector : [Producer clientId=producer-1] Connection with /0.0.0.0 disconnected

java.net.ConnectException: Connection refused
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) ~[na:1.8.0_201]
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717) ~[na:1.8.0_201]
at org.apache.kafka.common.network.PlaintextTransportLayer.finishConnect(PlaintextTransportLayer.java:50) ~[kafka-clients-2.3.1.jar:na]
at org.apache.kafka.common.network.KafkaChannel.finishConnect(KafkaChannel.java:216) ~[kafka-clients-2.3.1.jar:na]
at org.apache.kafka.common.network.Selector.pollSelectionKeys(Selector.java:531) [kafka-clients-2.3.1.jar:na]
at org.apache.kafka.common.network.Selector.poll(Selector.java:483) [kafka-clients-2.3.1.jar:na]
at org.apache.kafka.clients.NetworkClient.poll(NetworkClient.java:539) [kafka-clients-2.3.1.jar:na]
at org.apache.kafka.clients.producer.internals.Sender.runOnce(Sender.java:335) [kafka-clients-2.3.1.jar:na]
at org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:244) [kafka-clients-2.3.1.jar:na]
at java.lang.Thread.run(Thread.java:748) [na:1.8.0_201]

2020-05-17 19:53:06.210 DEBUG 15739 --- [ad | producer-1] org.apache.kafka.clients.NetworkClient : [Producer clientId=producer-1] Node -1 disconnected.
2020-05-17 19:53:06.210 WARN 15739 --- [ad | producer-1] org.apache.kafka.clients.NetworkClient : [Producer clientId=producer-1] Connection to node -1 (/0.0.0.0:9092) could not be established. Broker may not be available.
2020-05-17 19:53:06.210 DEBUG 15739 --- [ad | producer-1] org.apache.kafka.clients.NetworkClient : [Producer clientId=producer-1] Give up sending metadata request since no node is available
2020-05-17 19:53:06.265 DEBUG 15739 --- [ad | producer-1] org.apache.kafka.clients.NetworkClient : [Producer clientId=producer-1] Give up sending metadata request since no node is available
2020-05-17 19:53:06.319 DEBUG 15739 --- [ad | producer-1] org.apache.kafka.clients.NetworkClient : [Producer clientId=producer-1] Initialize connection to node 0.0.0.0:9092 (id: -1 rack: null) for sending metadata request
2020-05-17 19:53:06.320 DEBUG 15739 --- [ad | producer-1] org.apache.kafka.clients.NetworkClient : [Producer clientId=producer-1] Initiating connection to node 0.0.0.0:9092 (id: -1 rack: null) using address /0.0.0.0
2020-05-17 19:53:06.320 DEBUG 15739 --- [ad | producer-1] o.apache.kafka.common.network.Selector : [Producer clientId=producer-1] Connection with /0.0.0.0 disconnected

java.net.ConnectException: Connection refused
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) ~[na:1.8.0_201]
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717) ~[na:1.8.0_201]
at org.apache.kafka.common.network.PlaintextTransportLayer.finishConnect(PlaintextTransportLayer.java:50) ~[kafka-clients-2.3.1.jar:na]
at org.apache.kafka.common.network.KafkaChannel.finishConnect(KafkaChannel.java:216) ~[kafka-clients-2.3.1.jar:na]
at org.apache.kafka.common.network.Selector.pollSelectionKeys(Selector.java:531) [kafka-clients-2.3.1.jar:na]
at org.apache.kafka.common.network.Selector.poll(Selector.java:483) [kafka-clients-2.3.1.jar:na]
at org.apache.kafka.clients.NetworkClient.poll(NetworkClient.java:539) [kafka-clients-2.3.1.jar:na]
at org.apache.kafka.clients.producer.internals.Sender.runOnce(Sender.java:335) [kafka-clients-2.3.1.jar:na]
at org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:244) [kafka-clients-2.3.1.jar:na]
at java.lang.Thread.run(Thread.java:748) [na:1.8.0_201]

2020-05-17 19:53:06.320 DEBUG 15739 --- [ad | producer-1] org.apache.kafka.clients.NetworkClient : [Producer clientId=producer-1] Node -1 disconnected.
2020-05-17 19:53:06.320 WARN 15739 --- [ad | producer-1] org.apache.kafka.clients.NetworkClient : [Producer clientId=producer-1] Connection to node -1 (/0.0.0.0:9092) could not be established. Broker may not be available.
2020-05-17 19:53:06.320 DEBUG 15739 --- [ad | producer-1] org.apache.kafka.clients.NetworkClient : [Producer clientId=producer-1] Give up sending metadata request since no node is available
2020-05-17 19:53:06.375 DEBUG 15739 --- [ad | producer-1] org.apache.kafka.clients.NetworkClient : [Producer clientId=producer-1] Give up sending metadata request since no node is available
2020-05-17 19:53:06.427 DEBUG 15739 --- [ad | producer-1] org.apache.kafka.clients.NetworkClient : [Producer clientId=producer-1] Initialize connection to node 0.0.0.0:9092 (id: -1 rack: null) for sending metadata request
2020-05-17 19:53:06.427 DEBUG 15739 --- [ad | producer-1] org.apache.kafka.clients.NetworkClient : [Producer clientId=producer-1] Initiating connection to node 0.0.0.0:9092 (id: -1 rack: null) using address /0.0.0.0
2020-05-17 19:53:06.427 DEBUG 15739 --- [ad | producer-1] o.apache.kafka.common.network.Selector : [Producer clientId=producer-1] Connection with /0.0.0.0 disconnected

java.net.ConnectException: Connection refused
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) ~[na:1.8.0_201]
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717) ~[na:1.8.0_201]
at org.apache.kafka.common.network.PlaintextTransportLayer.finishConnect(PlaintextTransportLayer.java:50) ~[kafka-clients-2.3.1.jar:na]
at org.apache.kafka.common.network.KafkaChannel.finishConnect(KafkaChannel.java:216) ~[kafka-clients-2.3.1.jar:na]
at org.apache.kafka.common.network.Selector.pollSelectionKeys(Selector.java:531) [kafka-clients-2.3.1.jar:na]
at org.apache.kafka.common.network.Selector.poll(Selector.java:483) [kafka-clients-2.3.1.jar:na]
at org.apache.kafka.clients.NetworkClient.poll(NetworkClient.java:539) [kafka-clients-2.3.1.jar:na]
at org.apache.kafka.clients.producer.internals.Sender.runOnce(Sender.java:335) [kafka-clients-2.3.1.jar:na]
at org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:244) [kafka-clients-2.3.1.jar:na]
at java.lang.Thread.run(Thread.java:748) [na:1.8.0_201]

2020-05-17 19:53:06.427 DEBUG 15739 --- [ad | producer-1] org.apache.kafka.clients.NetworkClient : [Producer clientId=producer-1] Node -1 disconnected.
2020-05-17 19:53:06.427 WARN 15739 --- [ad | producer-1] org.apache.kafka.clients.NetworkClient : [Producer clientId=producer-1] Connection to node -1 (/0.0.0.0:9092) could not be established. Broker may not be available.
2020-05-17 19:53:06.427 DEBUG 15739 --- [ad | producer-1] org.apache.kafka.clients.NetworkClient : [Producer clientId=producer-1] Give up sending metadata request since no node is available
2020-05-17 19:53:06.482 DEBUG 15739 --- [ad | producer-1] org.apache.kafka.clients.Netwo

最佳答案

KAFKA_ADVERTISED_HOST_NAME 替换为 KAFKA_ADVERTISED_LISTENERS,添加 KAFKA_LISTENERS 并正确公开端口:

kafka:
image: wurstmeister/kafka
ports:
- 9092:9092
environment:
KAFKA_LISTENERS: PLAINTEXT://:9092
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://localhost:9092
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181

连接到 localhost:9092:

spring:
kafka:
producer:
bootstrap-servers: localhost:9092

关于spring-boot - 本地docker服务的Spring Boot Kafka连接问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61857756/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com