尽管StreamsConfig.BOOTSTRAP_SERVERS_CONFIG指向不同的主机,Kafka流仍尝试连接到



我有一个kafka流配置,如下所示。我已经在调试器中确认,KafkaProperties确实有一个值为myhost.mydomain.org:9092的引导服务器条目。

当我运行我的应用程序时,我会收到警告:

WARN 83530 --- [-StreamThread-1] org.apache.kafka.clients.NetworkClient   : 
[Consumer clientId=...-StreamThread-1-consumer, groupId=mygid] 
Connection to node 1001 (kafka/127.0.0.1:9092) could not be established. Broker may not be available.

我已经确认经纪人已经启动并接受连接。我不知道本地主机是从哪里来的。

@Bean("myKSConfig")
public StreamsBuilderFactoryBean kafkaStreams(KafkaProperties kafkaProperties,
@Value("${spring.application.name}") String appName) {
var props = new HashMap<String, Object>(kafkaProperties.getProperties());
props.put(StreamsConfig.BOOTSTRAP_SERVERS_CONFIG, kafkaProperties.getBootstrapServers());
props.put(StreamsConfig.APPLICATION_ID_CONFIG, appName);
props.put(StreamsConfig.DEFAULT_KEY_SERDE_CLASS_CONFIG, Serdes.String().getClass());
props.put(StreamsConfig.DEFAULT_VALUE_SERDE_CLASS_CONFIG, JsonSerde.class);
props.put(StreamsConfig.STATE_DIR_CONFIG, "state_data_dir");
props.put(StreamsConfig.COMMIT_INTERVAL_MS_CONFIG, 10 * 1000);
props.put(ConsumerConfig.AUTO_OFFSET_RESET_CONFIG, "earliest");
props.put(JsonDeserializer.VALUE_DEFAULT_TYPE, JsonNode.class);
var config = new KafkaStreamsConfiguration(props);
return new StreamsBuilderFactoryBean(config);
}

具有这些特性的

...
spring.kafka.bootstrap-servers=myhost.mydomain.org:9092
...

如果您没有编辑/etc/hosts来创建从该地址到127.0.0.1的映射,则引导程序将返回其advertised.listeners配置

检查代理中的配置,以验证您的客户端是否可以连接到广告地址

相关内容

  • 没有找到相关文章

最新更新