google云平台中的kafka虚拟机地址是 xx.xx..
.
从我的本地spring启动应用程序,通常连接到localhost:9092 of 本地机器的kafka服务器,我将其更改为gcp的虚拟机的ip xx.xx..:9092
但服务器启动时发出警告
2020-04-05 15:30:41.356 WARN 7968 --- [| adminclient-4] org.apache.kafka.clients.NetworkClient : [AdminClient clientId=adminclient-4] Connection to node -1 could not be established. Broker may not be available.
最终超时。从springboot应用程序连接到云kafka应该有不同的方法吗?
2条答案
按热度按时间mctunoxg1#
添加了以下属性
advertised.host.name
在server.properties to public ip address中,metadata.broker.list
在producer.properties到public ip address中,host.name
到0.0.0.0。这些属性文件将位于配置文件夹中。必须重新启动。
解决了问题。对于broker/bootstrap.sever,在添加上述属性之后,将在应用程序中使用公共ip地址。
p4rjhz4m2#
您需要在gcp vm上使用正确的
advertised.listener
以便您的客户机在初始成功连接后从中接收到正确的主机名/ip。您可以验证
advertised.listeners
设置使用kafkacat -L
```$ kafkacat -b xx.xx.xxx.xxx:9092 -L
Metadata for all topics (from broker -1: xx.xx.xxx.xxx:9092/bootstrap):
1 brokers:
broker 0 at a.b.c.d:9092