java访问docker-compose启动的kafka,出现超时

心与薄荷比清凉 发表于: 2020-08-04   最后更新时间: 2020-08-04 22:43:17   2,628 游览

原本用着很好的kafka,突然超时。kafka部署情况:单机版部署单个kafka服务,不涉及集群,用docker-compose启动。

查询docker日志,报如下错误

ERROR [KafkaApi-1003]
Number of alive brokers '0' does not meet the required replication factor '1' for the offsets topic (configured via 'offsets.topic.replication.factor'). 
This error can be ignored if the cluster is starting up and not all brokers are up yet. (kafka.server.KafkaApis)

百度说是更改kafka备份数量,及在docker-compose.yml文件增加最后一行配置

environment:
KAFKA_ADVERTISED_HOST_NAME: xx.xx.x.x
KAFKA_ADVERTISED_PORT: 9192
KAFKA_PORT: 9192
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_DELETE_TOPIC_ENABLE: "true"
KAFKA_NUM_PARTITIONS: 1
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1

更改后重启kafka容器,还是连接超时,博主可以给看下怎么回事么。

试了很多办法都不凑效。

发表于 2020-08-04
添加评论

感觉都不是错误的关键原因。
1、你启动docker的时候看看详细的错误描述
2、保留具体错误原因之后,你可以暴力一点的话,你删除挂载的存储文件,重新启动。

1、可以确认docker启动kafka是正常的,我出现的问题是:通过docker启动kafka,启动正常,访问kafka超时,爆的是我帖子粘的错误
2、我只删除了kafka容器,没有删除与kafka容器相关的文件,重新启动,和1的现象是一样的,是还要把容器相关的文件也删除了么

是的,把容器的相关文件也删除了,如果你只是测试的话。
另外,你是单机,明显是集群有问题,启动成功是不会报这个错的。
这个错误的意思就是至少要有broker活跃,你是一个都没有。

你的答案

查看kafka相关的其他问题或提一个您自己的问题