gpt4 book ai didi

java - Kafka AdminClient 似乎启动了两次

转载 作者:行者123 更新时间:2023-12-01 17:47:03 25 4
gpt4 key购买 nike

希望我能解释一下!

我正在启动一个dockerized java spring boot应用程序,它将连接到单个dockerized Kafka实例。

为此,我在 docker-compose 文件中设置了一个链接,该链接允许应用程序连接到端口 9092 上名为 kafka-cluster 的 kafka docker .

当我启动这两个容器时,我在 java 应用程序中收到一个错误,指出它无法连接到 KafkaAdmin:

[AdminClient clientId=adminclient-2] 无法建立与节点 -1 (localhost/127.0.0.1:9092) 的连接。经纪人可能不可用。

但它正在尝试连接到 localhost/127.0.0.1。

在日志中,我可以看到它两次启动了与 KafkaAdmin 的连接:第一:

2020-03-25 13:53:15.515  INFO 7 --- [           main] o.a.k.clients.admin.AdminClientConfig    : AdminClientConfig values: 
bootstrap.servers = [kafka-cluster:9092]
client.dns.lookup = default
client.id =
connections.max.idle.ms = 300000
<more properties>

然后再次(但在本地主机上):

2020-03-25 13:53:15.780  INFO 7 --- [           main] o.a.k.clients.admin.AdminClientConfig    : AdminClientConfig values: 
bootstrap.servers = [localhost:9092]
client.dns.lookup = default
client.id =
connections.max.idle.ms = 300000
<more properties>

这是配置:

    @Bean
public KafkaAdmin kafkaAdmin() {
Map<String, Object> configs = new HashMap<>();
configs.put(AdminClientConfig.BOOTSTRAP_SERVERS_CONFIG, bootstrapServers);
return new KafkaAdmin(configs);
}

@Bean
public NewTopic sysCcukCdcAssetsCreate() {
return new NewTopic(newPanelTopic, 1, (short) 1);
}

@Bean
public NewTopic sysCcukCdcAssetsUpdate() {
return new NewTopic(updatedPanelTopic, 1, (short) 1);
}

其中 bootstrapServers = kafka-cluster:9092

我不明白为什么 KafkaAdmin 看起来有 2 组配置,但它似乎导致了错误。

非常感谢任何指导或建议:)

最佳答案

那么!这是一只很棒的橡皮鸭。

结果是 spring.kafka.bootstrap.servers 属性尚未在属性文件中设置,它默认为 localhost 将其设置为 kafka- cluster:9092 修复了它:)

关于java - Kafka AdminClient 似乎启动了两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60851128/

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