我有一个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
配置
检查代理中的配置,以验证您的客户端是否可以连接到广告地址