1 基础配置操作
1.1 修改主题保留时间
/export/home/kafka_zk/kafka_2.13-2.7.1/bin/kafka-configs.sh --alter \
--bootstrap-server 192.168.10.33:9092 \
--entity-type topics \
--entity-name yourtopic \
--add-config retention.ms=86400000
参数说明:
- retention.ms=86400000:设置消息保留时间为 1 天(单位毫秒)
1.2 删除主题配置项
/export/home/kafka_zk/kafka_2.13-2.7.1/bin/kafka-configs.sh --alter \
--bootstrap-server 192.168.10.33:9092 \
--entity-type topics \
--entity-name yourtopic \
--delete-config retention.ms
1 高级配置管理命令
2.1 批量修改多个主题配置
for topic in topic1 topic2 topic3; do
/export/home/kafka_zk/kafka_2.13-2.7.1/bin/kafka-configs.sh --alter \
--bootstrap-server 192.168.10.33:9092 \
--entity-type topics \
--entity-name $topic \
--add-config retention.ms=172800000
done
2.2 查看所有被覆盖的配置
/export/home/kafka_zk/kafka_2.13-2.7.1/bin/kafka-configs.sh --describe \
--bootstrap-server 192.168.10.33:9092 \
--entity-type topics \
| grep -v "Configs for topic" \
| grep -v "^$"
2.3 动态调整broker配置
/export/home/kafka_zk/kafka_2.13-2.7.1/bin/kafka-configs.sh --alter \
--bootstrap-server 192.168.10.33:9092 \
--entity-type brokers \
--entity-name 1 \
--add-config log.retention.check.interval.ms=300000
重要参数:
- log.retention.check.interval.ms:日志保留检查频率
- log.cleaner.threads:清理线程数
- num.io.threads:I/O 线程数
2.4 导出当前所有主题配置
/export/home/kafka_zk/kafka_2.13-2.7.1/bin/kafka-configs.sh --describe-all \
--bootstrap-server 192.168.10.33:9092 \
--entity-type topics \
> kafka_topic_configs_backup_$(date +%Y%m%d).txt
3 配置管理黄金法则
3.1 优先级策略
- 主题级配置 > 客户端配置 > broker 默认配置
- 重要业务主题单独配置,普通主题使用默认值
3.2 变更控制
# 变更前检查
/export/home/kafka_zk/kafka_2.13-2.7.1/bin/kafka-configs.sh --describe \
--bootstrap-server 192.168.10.33:9092 \
--entity-type topics \
--entity-name target-topic
# 变更后验证
/export/home/kafka_zk/kafka_2.13-2.7.1/bin/kafka-topics.sh --describe \
--bootstrap-server 192.168.10.33:9092 \
--topic target-topic \
--report-detailed
3.3 监控指标
# 配置变更后监控以下指标
# 消息堆积变化
/export/home/kafka_zk/kafka_2.13-2.7.1/bin/kafka-consumer-groups.sh --describe \
--bootstrap-server 192.168.10.33:9092 \
--group your-group
# 磁盘使用变化
/export/home/kafka_zk/kafka_2.13-2.7.1/bin/kafka-log-dirs.sh --describe \
--bootstrap-server 192.168.10.33:9092 \
--topic-list target-topic