elasticsearch - 卡夫卡 : client has run out of available brokers to talk to

标签 elasticsearch apache-kafka logstash apache-zookeeper filebeat

我正在尝试完成对我们的 Kafka 的更改,但我在我的头上,并且很难调试这个问题。

我有多个服务器使用 Filebeat 将他们的 Ruby on Rails 日志汇集到 1 个 Kafka 代理,从那里日志转到我们的 Logstash 服务器,然后存储在 Elasticsearch 中。我没有设置原始系统,但我尝试将我们从 3 个 Kafka 服务器减少到 1 个,因为它们不需要。我在我们的设置中更新了这些文件中的 IP 地址配置,以删除 2 个旧的 Kafka 服务器并重新启动相应的服务。

# main (filebeat)
sudo vi /etc/filebeat/filebeat.yml
sudo service filebeat restart


# kafka
sudo vi /etc/hosts
sudo vi /etc/kafka/config/server.properties
sudo vi /etc/zookeeper/conf/zoo.cfg
sudo vi /etc/filebeat/filebeat.yml
sudo service kafka-server restart
sudo service zookeeper-server restart
sudo service filebeat restart


# elasticsearch
sudo service elasticsearch restart


# logstash
sudo vi /etc/logstash/conf.d/00-input-kafka.conf
sudo service logstash restart
sudo service kibana restart

当我跟踪 Filebeat 日志时,我看到了这个 -
2018-04-23T15:20:05Z WARN kafka message: client/metadata got error from broker while fetching metadata:%!(EXTRA *net.OpError=dial tcp 172.16.137.132:9092: getsockopt: connection refused) 

2018-04-23T15:20:05Z WARN kafka message: client/metadata no available broker to send metadata request to 

2018-04-23T15:20:05Z WARN client/brokers resurrecting 1 dead seed brokers 

2018-04-23T15:20:05Z WARN kafka message: Closing Client 

2018-04-23T15:20:05Z ERR Kafka connect fails with: kafka: client has run out of available brokers to talk to (Is your cluster reachable?)

最佳答案

to 1 Kafka broker... I tried taking us down from 3 Kafka servers to 1 as they weren't need. I updated the IP address configs in these files in our setup to remove the 2 old Kafka servers and restarted the appropriate services



我想你误会了,如果你有多个broker,Kafka只是一个高可用系统,所以另外2个需要尽管您可能只在 logstash 配置中提供了一个代理

您的错误表明单个代理拒绝连接,因此不会向其发送任何日志。

对于一个有用的 Kafka 集群,我至少会推荐 4 个代理,并且所有关键主题的复制因子为 3。这样,您可以容忍代理中断并分配 Kafka 代理的负载。

例如,将主题计数作为总日志服务器的一个因素,以及根据应用程序类型键入 Kafka 消息也是有益的。这样您就可以保证这些应用程序的日志顺序

关于elasticsearch - 卡夫卡 : client has run out of available brokers to talk to,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49988530/

相关文章:

elasticsearch - 是否可以确保对Elasticsearch中的搜索进行n匹配?

apache-kafka - spring-kafka AckMode中MANUAL和MANUAL_IMMEDIATE有什么区别

apache-kafka - Kafka Streams - 使用 through() 与 toStream() + to() 重用流

elasticsearch - 如何获得多个记录?

elasticsearch - Minikube-无法从 Elasticsearch 获得任何结果,如果它使用现有索引

ElasticSearch - 带有数组字段的子项聚合问题

docker - 是否可以为 ElasticBeanstalk Docker 应用程序提供集中式日志记录?

logstash - 多个Grok过滤器未存储第一个过滤器匹配记录

elasticsearch - 查询参数Elasticsearch中使用AND的问题

amazon-web-services - AWS ECS上的Kafka,如何在没有已知实例的情况下处理advertised.host?