Kafka主题配置主要涉及创建、修改、删除及参数设置,以下是核心操作和关键参数:
-
创建主题
使用kafka-topics.sh工具,指定分区数(--partitions)、副本因子(--replication-factor)等参数,例如:bin/kafka-topics.sh --create --topic test-topic --partitions 3 --replication-factor 3 --bootstrap-server localhost:9092 -
修改主题
- 增加分区:通过
--alter命令增加分区数(不能减少),需重新分配数据。 - 修改副本因子:需先删除主题再重新创建(Kafka不支持直接修改现有副本数)。
- 调整配置:如设置
cleanup.policy(保留策略,delete或compact)、retention.ms(保留时间)等。
- 增加分区:通过
-
删除主题
使用--delete命令,需确保delete.topic.enable=true(默认false),例如:bin/kafka-topics.sh --delete --topic test-topic --bootstrap-server localhost:9092 -
查看主题
- 列出所有主题:
--list - 查看详情(分区、副本、配置):
--describe
- 列出所有主题:
-
关键参数说明
参数 含义 示例 partitions分区数,决定并行处理能力,建议为消费者数量的整数倍 --partitions 5replication-factor副本数,保障数据冗余,生产环境建议≥3,不超过Broker数量 --replication-factor 3cleanup.policy日志清理策略, delete(按时间/大小删除)或compact(压缩保留键值)--config cleanup.policy=compactretention.ms消息保留时间(毫秒),默认7天 --config retention.ms=86400000 -
注意事项
- 分区数设置需平衡吞吐量和元数据管理压力,避免过多分区导致ZooKeeper负载过高。
- 副本因子需与集群规模匹配,奇数副本可避免脑裂问题。
- 生产环境建议关闭自动创建主题(
auto.create.topics.enable=false),手动管理主题配置。
参考来源: