温馨提示×

Kafka配置中的主题设置

小樊
67
2025-08-30 08:45:46
栏目: 大数据

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(保留策略,deletecompact)、retention.ms(保留时间)等。
  • 删除主题
    使用--delete命令,需确保delete.topic.enable=true(默认false),例如:

    bin/kafka-topics.sh --delete --topic test-topic --bootstrap-server localhost:9092  
    
  • 查看主题

    • 列出所有主题:--list
    • 查看详情(分区、副本、配置):--describe
  • 关键参数说明

    参数 含义 示例
    partitions 分区数,决定并行处理能力,建议为消费者数量的整数倍 --partitions 5
    replication-factor 副本数,保障数据冗余,生产环境建议≥3,不超过Broker数量 --replication-factor 3
    cleanup.policy 日志清理策略,delete(按时间/大小删除)或compact(压缩保留键值) --config cleanup.policy=compact
    retention.ms 消息保留时间(毫秒),默认7天 --config retention.ms=86400000
  • 注意事项

    • 分区数设置需平衡吞吐量和元数据管理压力,避免过多分区导致ZooKeeper负载过高。
    • 副本因子需与集群规模匹配,奇数副本可避免脑裂问题。
    • 生产环境建议关闭自动创建主题(auto.create.topics.enable=false),手动管理主题配置。

参考来源:

0