我有一个 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.
我已确认代理已启动并正在运行并接受连接。我不知道从哪里获取 localhost。
@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
...
答案 0 :(得分:1)
如果您没有编辑 /etc/hosts
以创建从该地址到 127.0.0.1
的映射,则引导程序将返回其 advertised.listeners
配置
检查代理中的配置以验证您的客户端可以连接到广告地址