2017-03-09 54 views
1

我在EC2上安装了卡夫卡软件。我的问题是从AWS外部连接到代理。这一切都为我从内部工作。AWS上的卡夫卡代理 - IP设置

所以我可以启动代理,并且kafka-console-producer和consumer都可以(从同一台服务器上)工作。我有端口2181和9092向远程位置开放,从我想要使用制作者的地方开始。所以从我的开发(本地)机器。如果我做telnet 9092 - 它连接我。如果我尝试使用kafka-console-producer,则会出现此错误。

[2017-03-09 15:04:44,971] ERROR Error when sending message to topic topic2 with key: null, value: 5 bytes with error: (org.apache.kafka.clients.producer.internals.ErrorLoggingCallback) org.apache.kafka.common.errors.TimeoutException: Expiring 1 record(s) for topic2-0: 1521 ms has passed since batch creation plus linger time

我试过各种组合与和server.properties文件 - 连键listenersadvertised.listeners

我真的很感激一些帮助......

回答

0

这可能是由公共主机名/ AWS机器的IP地址不能被里面AWS使用的事实引起的。如果是这样的话,你需要做一点小事。需要两两件事:

  • 确保您在本地/ etc/hosts中设置advertised.listeners私人地址
  • ,结合AWS的本地主机名(例如,IP-10-0-0-。 1.eu-west-1.compute.internal)公众IP

然后确保您始终只使用私有主机名。这一直是我的许多奇怪问题没有给出任何日志的根本原因。