AWS上的Kafka经纪人 - IP设置

时间:2017-03-09 14:18:42

标签: amazon-web-services connection apache-kafka producer

我在EC2上安装了Kafka软件。我的问题是从AWS外部连接到代理。这对我来说都很有用。

所以我可以启动代理,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

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

1 个答案:

答案 0 :(得分:0)

这可能是由于AWS机器的公共主机名/ ip无法在AWS内部使用而引起的。如果是这样,你需要稍微捏一下。需要做两件事:

  • 确保将advertised.listeners设置为私人地址
  • 在您的本地/ etc / hosts中,将本地主机名aws(例如ip-10-0-0-1.eu-west-1.compute.internal)绑定到公共IP

然后确保始终只使用私有主机名。对于我来说,这是导致许多奇怪问题没有提供任何日志的根本原因。