首页 文章

可以在消费者或制作人中使用kafka broker ip吗?

提问于
浏览
0

我有两台机器localhost和192.168.1.110运行两个独立的单机kafka .

(1)在localhost,我运行:

➜kafka_2.11-0.10.0.0bin / kafka-console-producer.sh --broker-list 192.168.1.110:9092 - topic test这是一条消息[2016-08-24 18:15:27,441] ERROR错误时使用key发送消息到主题测试:null,值:2个字节,错误:(org.apache.kafka.clients.producer.internals.ErrorLoggingCallback)org.apache.kafka.common.errors.TimeoutException:包含1条记录的批处理(s )从代理请求元数据为test-0时由于超时而过期

为什么无法将消息发送到192.168.1.110的代理?我可以直接在消费者或制片人中使用broker ip吗?如果我只能使用主机名,这是否与advertised.host.name有关?那么如何设置advertised.host.name?该主机名是否应该是全局可解析的(我可以使用/ etc / hosts来解析主机名吗?)

(2)我编辑/ etc / hosts让localhost指向192.168.1.110,然后运行:➜kafka_2.11-0.10.0.0bin / kafka-console-producer.sh --broker-list localhost:9092 --topic测试

我可以成功地将消息发送到192.168.1.110并在那里消息 .

(3)我编辑/ etc / hosts让rrlocalhost指向192.168.1.110,然后运行:➜kafka_2.11-0.10.0.0bin / kafka-console-producer.sh --broker-list rrlocalhost:9092 --topic测试

然后我发送消息给rrlocalhost,有与(1)中相同的错误 .

1 回答

  • 1

    绝对可以直接使用ip地址 .

    broker config advertised.host.name 将在zookeeper中注册, 生产环境 者和消费者将把它们作为集群元数据获取 . 如果使用本地昵称配置它, 生产环境 者和消费者将很难与之通信 .

相关问题