以下Kafka配置允许在不停机的情况下进行动态修改:
1. 分区数
可以使用kafka-topics.sh脚本动态增加分区数量:
bin/kafka-topics.sh --zookeeper zkhost:2181 --alter --topic test --partitions 20
2. 副本因子
也可以使用kafka-topics.sh修改副本因子:
bin/kafka-topics.sh --zookeeper zkhost:2181 --alter --topic test --replication-factor 3
3. Cleanup Policy
Kafka支持动态修改Topic的清理(删除过期消息)策略。
4. Compression Type
Kafka同样允许动态修改消息的压缩类型。
5. Min/Max Insync Replicas
可以修改ISR列表中要求的最小/最大同步副本数。
6. 消息键序列化
key.serializer和value.serializer可以在不停机的情况下修改。
7. 分区选择器
分区分配策略(partitioner class)也可以热更新。
8. 生产者配置
如批次大小、刷新时间等Producer Config允许动态修改。
Kafka允许动态配置以下方面:
- 分区数
- 副本因子
- 清理策略
- 压缩类型
- ISR要求
- 键序列化
- 分区选择器
- 生产者配置
这些配置能在不停止服务的情况下,即时生效。能很好地支持Kafka集群的online修改需求。
Kafka主要允许动态修改分区、副本因子、清理策略、压缩类型等Topic相关配置,以及生产者配置。这有利于Kafka集群的online管理。