kafka topic副本配置调整后重启会影响现有的topic吗?

wenming 发表于: 2023-07-11   最后更新时间: 2023-07-11 15:21:35   570 游览

大神好,有几个问题请教:
目前我这边kafka集群5个节点,kafka版本是2.12-2.1.1
下面是几个主要的配置信息如下:

auto.create.topics.enable=false
delete.topic.enable=false
offsets.topic.replication.factor=3
transaction.state.log.replication.factor=3
transaction.state.log.min.isr=3
default.replication.factor=3

但是集群中有的topic只有两副本,这种配置为啥会没有问题呢?
如果要优化是否应该修改为:

offsets.topic.replication.factor=2
transaction.state.log.replication.factor=2
transaction.state.log.min.isr=1

修改这几个参数后逐节点重启kafka,这个参数会对已有的topic生效吗?

发表于 2023-07-11
¥10.0

修改配置依次重启,不会改变已经创建好的topic,只会对之后新创建的topic生效。

副本越多,可用性就越高,允许宕机的节点越多,但是同时,性能就会下降。

你是5个节点,2-3个副本足够了(副本数不要超过3个,超过集群数的一半还可用的话,会有其他的问题,比如写不进去和数据不对等的情况)

另外:
transaction.xxxx的是事务配置,如果你没用到事务,这些改动不会对你的业务造成影响。事务的副本数也是同上,事务的状态也是要高可用。

wenming -> 半兽人 10月前

按你说的,我这边应该是没用到事务,建议修改上面的配置吗?
针对kafka的topic存在二副本和三副本的情况,有推荐的配置吗?

半兽人 -> wenming 10月前

没用到可以不用修改。

如果该kafka集群的业务非常重要,可以默认设置为3副本。
如果只有部分业务重要,可以设置默认2副本,特殊的业务通过命令手动创建3副本,例如:

$ bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 3 --partitions 10 --topic test

这个就可以:

auto.create.topics.enable=false
delete.topic.enable=false
offsets.topic.replication.factor=3
default.replication.factor=3
wenming -> 半兽人 10月前

好的,感谢!

你的答案

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