在kafka代理中配置监听器属性的正确方法

时间:2019-02-17 08:22:54

标签: apache-kafka devops

我们有一个由5个代理组成的集群,并按如下所示配置了server.properties。

  

listeners = PLAINTEXT:// kafka1:9092
  advertised.listeners = PLAINTEXT:// kafka1:9092

我在所有经纪人,生产者和消费者的/ etc / hosts文件中添加了以下条目

  

“私有:IP:kafka:broker1” kafka1

这在大多数情况下对我们都有效,在配置新使用者时,我们不必记住引导服务器的专用IP。

我想知道这是在卡夫卡经纪人和客户之间进行交流的一种好方法吗?

由于我不是DevOps专家,所以我不确定这是否可能引起隐藏的问题。请对此发表评论。

另一件事是,我看到Kafka经纪人和客户之间的随机断开导致了不同的问题。我只想清除这可能导致问题的可能性。

1 个答案:

答案 0 :(得分:2)

  

我在所有经纪人,生产者和消费者的/ etc / hosts文件中添加了如下所示的条目

好。请不要这样做

如果您不能仅通过bootstrap.servers属性来解析主机,则侦听器不正确。

请阅读this explanation of Kafka Listeners,以获取可能需要的所有详细信息。

  

在配置新使用者时,我们不必记住引导服务器的私有IP

您可以使用服务发现工具来解决此问题。领事很受欢迎,那么您只需指向kafka.service.consul:9092,它就会通过DNS的魔力“起作用”。

或者您应该在已经预先配置了至少引导服务器设置的Kafka客户端库上进行标准化,然后在内部将这个“库”发布给开发人员以供使用