如何在EC2上设置Apache Kafka Broker?

4
我在我的EC2实例上安装了Apache Kafka,并更改了安全组以打开Kafka和Zookeeper的端口9092和2181。我只有一个单一的代理人、单一的主题、单一的分区,没有任何复杂的东西。我通过尝试本地的生产者/消费者来确认Kafka是否正常工作。
在AWS安全组中显示:
自定义TCP规则 TCP 2181 0.0.0.0/0
自定义TCP规则 TCP 9092 0.0.0.0/0
现在,我想使用我的Broker EC2实例的公共IP连接我的生产者和消费者(不在Amazon EC2实例上)。然而,我无法将任何生产者或消费者连接到EC2 Broker。它们只是说Broker未找到。
请您帮忙解决这个问题,谢谢!

你能否先检查一下是否可以从VPC外部访问到你的EC2实例(例如SSH)?(你需要打开22号端口以进行SSH)。 - Michal Gasek
尝试从外部连接到系统确实是首要任务。您可以轻松地尝试直接连接端口(因为它们是TCP),使用以下命令:telnet <public name> 2181 telnet <public name> 9092如果没有被拒绝并且您可以输入文本,则表示没有网络问题。否则,您将获得更好的线索以了解是什么阻止了通信。 - erankl
1个回答

1
这可能是因为Kafka默认在Zookeeper中广告经纪人名称。在AWS上,它通常使用无法在外部解析的内部EC2 DNS名称。查看broker configadvertised.listeners属性。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接