当前位置: 首页 > article >正文

kafka在初始化集群配置当中有哪些重要参数?

在初始化 Kafka 集群配置时,有一些重要的参数需要正确设置,以确保集群的性能、可靠性和可用性。这些参数分为不同的类别,包括 broker 配置、topic 配置和消费者配置。以下是一些关键参数及其作用:

Broker 配置

  1. broker.id
    • 描述:每个 Kafka broker 的唯一标识符。
    • 示例broker.id=1
  2. zookeeper.connect
    • 描述:ZooKeeper 集群的连接字符串,用于 Kafka 集群的元数据管理和协调。
    • 示例zookeeper.connect=localhost:2181
  3. log.dirs
    • 描述:Kafka 存储日志文件的目录,可以配置多个目录,以实现更好的磁盘 I/O 性能。
    • 示例log.dirs=/var/lib/kafka/logs
  4. num.partitions
    • 描述:默认的 topic 分区数量。
    • 示例num.partitions=3
  5. default.replication.factor
    • 描述:默认的 topic 副本数量。
    • 示例default.replication.factor=3
  6. log.retention.hours
    • 描述:日志保留的时间,超过这个时间的日志将被删除。
    • 示例log.retention.hours=168(保留 7 天)
  7. log.segment.bytes
    • 描述:日志段的最大大小,达到这个大小时,Kafka 会创建一个新的日志段。
    • 示例log.segment.bytes=1073741824(1 GB)
  8. log.retention.bytes
    • 描述:每个分区的日志数据的最大保留大小,超过这个大小的日志将被删除。
    • 示例log.retention.bytes=1073741824(1 GB)
  9. auto.create.topics.enable
    • 描述:是否允许自动创建 topic。
    • 示例auto.create.topics.enable=true
  10. listeners
    • 描述:配置 broker 监听的网络接口,用于客户端连接。
    • 示例listeners=PLAINTEXT://:9092
  11. log.cleaner.enable
    • 描述:是否启用日志清理(压缩)。
    • 示例log.cleaner.enable=true
  12. min.insync.replicas
    • 描述:在 ack=all 的情况下,要求最小同步副本数,以确保消息的可靠性。
    • 示例min.insync.replicas=2

Topic 配置

  1. cleanup.policy
    • 描述:日志清理策略,可以是 deletecompact
    • 示例cleanup.policy=delete
  2. retention.ms
    • 描述:日志保留的时间(以毫秒为单位)。
    • 示例retention.ms=604800000(7 天)
  3. retention.bytes
    • 描述:每个分区的日志数据的最大保留大小。
    • 示例retention.bytes=1073741824(1 GB)
  4. segment.ms
    • 描述:日志段的最大时间(以毫秒为单位)。
    • 示例segment.ms=604800000(7 天)

生产者配置

  1. acks
    • 描述:消息确认的级别,可以是 0, 1all
    • 示例acks=all
  2. retries
    • 描述:消息发送失败时的重试次数。
    • 示例retries=3
  3. batch.size
    • 描述:每个批次的消息最大大小(以字节为单位)。
    • 示例batch.size=16384(16 KB)
  4. linger.ms
    • 描述:生产者在发送消息前等待的时间,以便批处理更多的消息。
    • 示例linger.ms=5
  5. buffer.memory
    • 描述:生产者用于缓冲等待发送的消息的内存总量。
    • 示例buffer.memory=33554432(32 MB)

消费者配置

  1. group.id
    • 描述:消费者组的唯一标识符。
    • 示例group.id=my-consumer-group
  2. auto.offset.reset
    • 描述:在没有初始偏移量或偏移量超出范围时该如何处理,可以是 latestearliest
    • 示例auto.offset.reset=earliest
  3. enable.auto.commit
    • 描述:是否启用自动提交偏移量。
    • 示例enable.auto.commit=true
  4. auto.commit.interval.ms
    • 描述:自动提交偏移量的时间间隔(以毫秒为单位)。
    • 示例auto.commit.interval.ms=5000
  5. max.poll.records
    • 描述:每次调用 poll() 时返回的最大记录数。
    • 示例max.poll.records=500

通过正确配置这些参数,可以确保 Kafka 集群在性能、可靠性和可用性方面达到最佳状态。具体的参数值应根据实际使用场景和需求进行调整。


http://www.kler.cn/a/543200.html

相关文章:

  • 131,【2】 攻防世界 catcat-new
  • 路由过滤方法与常用工具
  • 1、http介绍
  • ThinkPHP8视图赋值与渲染
  • Ubuntu 下 nginx-1.24.0 源码分析 ngx_tm_t 类型
  • SpringBootWeb三层架构分层解耦
  • (定时器,绘制事件,qt简单服务器的搭建)2025.2.11
  • vuedraggable固定某一item的记录
  • 语言大模型基础概念 一(先了解听说过的名词都是什么)
  • 元宵佳节,我的创作纪念日:技术之路的回顾与展望
  • 【多模态大模型】系列1:Transformer Encoder——ViLT、ALBEF、VLMO
  • MVC(Model-View-Controller)framework using Python ,Tkinter and SQLite
  • 机器学习数学基础:22.对称矩阵的对角化
  • LKT4202UGM新一代安全认证加密芯片,守护联网设备和服务安全
  • LeetCode --- 435周赛
  • Java进阶14 TCP日志枚举
  • 如何使用CSS Grid实现两列布局?
  • Tcp_socket
  • 20vue3实战-----使用echarts搭建各种图表
  • xss总结
  • HTTP的状态码
  • C++习题1——24、30—
  • 如何使用DHTMLX Scheduler的拖放功能,在 JS 日程安排日历中创建一组相同的事件
  • C++基础学习记录—this指针
  • uniApp 实现下拉框自定义标签 label 和值 value
  • 【C++】25.封装红黑树实现mymap和myset