首页 文章

AWS上的Kafka经纪人 - IP设置

提问于
浏览
2

我在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

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

    • 确保将 advertised.listeners 设置为您的私人地址

    • 在本地/ etc / hosts中,将aws的本地主机名(例如ip-10-0-0-1.eu-west-1.compute.internal)绑定到公共IP

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

相关问题