我们有一个由5个经纪人和3个动物园管理员组成的Apache集群。饲养员的版本是3.14.3,经纪人是2.0.0。很长一段时间以来,我一直在试图理解为什么代理会与集群断开连接--我得到了几十个“从x,y到x的收缩ISR”,以及在每个主题的每个分区“从x扩展到x,y”之后的几秒钟。例如,
Nov 17 10:06:06 HOSTNAME kafka-server-start.sh[17252]: [2019-11-17 10:06:06,188] INFO [Partition topicname-14 broker=1] Expanding ISR from 1 to 1,3 (kafka.cluster.Partition)“展开”日志在“收缩”日志之后7秒到达,每隔1-5分钟重复一次。
06:54:27 -收缩>
06:54:32 -扩大
06:55:47 -收缩>
06:55:52 -扩展
06:57:07 -收缩>
06:57:13 -扩大
07:01:27 -收缩>
07:01:36 -扩展
在动物园管理员这一边,我没有发现任何异常的东西,在其他日志文件(controller.log、state-change.log、kafka-authorizer)上也没有什么突出的地方,而这些文件都出现在server.log文件上。
负载在代理之间是相当均衡的,我们最近又增加了2个代理,但是问题是在添加之前。没有任何经纪人看起来过于紧张或任何事情,他们都是对齐配置方面的。
这是代理的server.properties:
ssl.key.password=XXXX
authorizer.class.name=kafka.security.auth.SimpleAclAuthorizer
ssl.keystore.password=XXXX
advertised.listeners=SASL_SSL://HOSTNAME.FQDN:9092
ssl.keystore.location=/etc/kafka/secrets/kafka.keystore.jks
ssl.keystore.filename=kafka.keystore.jks
zookeeper.connect=A:2181, B:2181, C:2181
security.inter.broker.protocol=SASL_SSL
super.users=User:admin
ssl.truststore.credentials=keystore_creds
jmx.port=9999
ssl.keystore.credentials=keystore_creds
log.roll.hours=24
ssl.truststore.location=/etc/kafka/secrets/kafka.truststore.jks
delete.topic.enable=TRUE
message.max.bytes=2097152
ssl.truststore.password=XXXX
broker.id=1
ssl.key.credentials=keystore_creds
log.dirs=/var/lib/kafka/data
ssl.truststore.filename=kafka.truststore.jks
listeners=SASL_SSL://IPADDRESS:9092
sasl.enabled.mechanisms=PLAIN
sasl.mechanism.inter.broker.protocol=PLAIN
log.retention.ms=86400000
log.retention.bytes=536870912000
auto.create.topics.enable=false
zookeeper.session.timeout.ms=10000
num.partitions=18
default.replication.factor=2数据确实成功地进出了集群,我的问题是每次发生这种情况时,生产者都会与我的服务器断开连接,并且分区的收缩和扩展必须给系统带来很大的代价,这会导致生产者的队列不断增长,直到他们的本地队列满了为止。生产者被配置为连接到VIP,而不是连接到服务器或特定服务器的数组。
如果我能提供任何其他信息来帮助研究这个问题的原因,请告诉我,谢谢
发布于 2019-11-17 12:56:33
在阅读了这个- https://www.confluent.io/blog/hands-free-kafka-replication-a-lesson-in-operational-simplicity/ -我已经将replica.lag.time.max.ms提高到20,000 (从默认的10,000),现在ISR的扩展和收缩停止了
发布于 2020-06-10 23:25:29
有许多因素涉及到试图增加以下参数。
如果使用者在这段时间内没有心跳到ZooKeeper,就会被认为是死的,并且会发生再平衡。
更多的时间。
https://stackoverflow.com/questions/58899540
复制相似问题