返回到文章

采纳

编辑于

kafka伪集群为何__consumer_offsets在各个broker下都有50个?

kafka

各位朋友请教下:

目前我在测试服务器上测试了伪集群,在一个宿主机上部署三个broker结点(1,2,3),运行一直正常的,同样的配置我部署到docker上,就出现了异常,现象是

kafka-logs1和kafka-logs3目录下都有 consumer_offsets-0 到 consumer_offsets-49 ,都是50个。
kafka-logs2下面没有任何 __consumer_offsets。

我在宿主机上看kafka-logs1、kafka-logs2、kafka-logs3目录下都有__consumer_offsets,且三个目录下总的数量是50个,没有重复的,不知道为何造成这个问题,目前我使用zookeeper查询结果为:

WatchedEvent state:SyncConnected type:None path:null
ls /brokers/ids[3]

就是只有结点3是活跃的,其他结点都宕掉了,但是也没有发现出错日志。
应用的体现就是重启应用服务连接kafka有时正常消费,有时不消费,不消费时多重启几次服务就会好的。

我想知道为何三个结点下的__consumer_offsets为造成目前的状况,还有为何broker结点都宕掉了,我无从下手解决。恳请各位朋友指点,不胜感激。

我的server.properties配置如下,三个结点都一样的:

broker.id=1
num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
log.dirs=/mydata/kafka/kafka-logs1
num.partitions=1
num.recovery.threads.per.data.dir=1
offsets.topic.replication.factor=1
transaction.state.log.replication.factor=1
transaction.state.log.min.isr=1
log.retention.hours=168
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000
zookeeper.connection.timeout.ms=6000000
delete.topic.enable=true
group.initial.rebalance.delay.ms=0
message.max.bytes=5000000
replica.fetch.max.bytes=5000000
listeners=PLAINTEXT://172.18.2.8:9091
broker.list=172.18.2.8:9091,172.18.2.8:9092,172.18.2.8:9093
zookeeper.connect=172.18.2.8:2181,172.18.2.8:2182,172.18.2.8:2183