在我们的spring引导程序中,我们正在从本地zookeeper和apachekafka服务器切换到远程服务器(目前我们找到的最佳解决方案是cloudkarafka,但这并不重要)。
从这个提供者我们下载了属性,我们必须添加到我们的属性Kafka配置Map,以便使用远程Kafka,如引导服务器,但在所有这一切之后, Spring 启动继续搜索zookeeper在本地机器。有什么我能做的吗?
应用程序.yml
spring:
cloud:
zookeeper:
connect-string: server:2181
属性Map
Map<String, Object> props = new HashMap<>();
props.put("bootstrap.servers", getBrokers());
props.put(ConsumerConfig.ENABLE_AUTO_COMMIT_CONFIG, false);
props.put(ConsumerConfig.AUTO_COMMIT_INTERVAL_MS_CONFIG, "100");
props.put(ConsumerConfig.SESSION_TIMEOUT_MS_CONFIG, "15000");
props.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class);
props.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class);
props.put("security.protocol", "SSL");
props.put("ssl.truststore.location", "truststore.jks");
props.put("ssl.truststore.password", "test1234");
props.put("ssl.keystore.location", "keystore.jks");
props.put("ssl.keystore.password", "pass");
props.put("ssl.keypassword", "pass");
props.put("zk.connect", "server:2181");
谢谢您。
1条答案
按热度按时间tzdcorbm1#
我不确定cloudkarafka的具体设置。但这肯定是我之前在开发环境中连接远程kafka服务器时遇到的配置问题。
在kafka server.properties中有两种配置。
需要取消注解并设置实际的ip地址。
侦听器配置是套接字服务器侦听的地址。如果未配置,它将从java.net.inetaddress.getcanonicalhostname()返回值,这是localhost,这就是客户机查找localhost的原因。