我在AWS EC2上创建了一个Ubuntu VM,在同一VM中,我正在运行一个Zookeeper实例和一个Kafka实例。 Zookeeper和Kafka运行良好,我什至可以创建一个主题,但是,当我尝试从终端从本地计算机(macOS)连接时,出现以下消息:
Producer clientId=console-producer] Connection to node -1 (ec2-x-x-x-x.ap-southeast-2.compute.amazonaws.com/x.x.x.x:9092) could not be established. Broker may not be available. (org.apache.kafka.clients.NetworkClient)
在 /config/server.properties 内部,我更改了 listeners 和 advertised.listeners 的属性(见下图),正如我在许多文章中读到的与我的问题有关的主题,但仍然无法从本地计算机连接EC2上的Kafka:
我真的不知道我在这里想念什么...
Kafka版本:kafka_2.12-2.2.1
listeners=PLAINTEXT://PRIVATE_IP_ADDRESS:9092
advertised.listeners=PLAINTEXT://PUBLIC_IP_ADDRESS:9092
答案 0 :(得分:0)
答案 1 :(得分:-1)
在您的图片中,您将
advertised.listeners
更改为私有ip而不是公共ip,并将listeners
更改为私有ip
您只需将advertised.listeners
更改为Ec2实例的公共ip:
advertised.listeners=PLAINTEXT://x.x.x.x:9092
由于kafka会要求客户端使用advertised listeners
将其连接到云上,因此您无需将listeners
更改为任何内容(只需对其进行注释)并重新启动kafka。