Kafka 实战 - 集群配置参数server.properties

在 Apache Kafka 集群中,server.properties 文件是 Broker 级别的配置文件,包含了 Broker 的各种核心配置参数。以下是一些重要的 server.properties 参数示例及说明:

通用配置

  • broker.id:每个 Kafka Broker 必须拥有一个唯一的标识符。
  • listeners:定义 Broker 接受连接的地址和协议,例如 "PLAINTEXT://:9092" 表示监听所有网络接口的 9092 端口。
  • log.dirs:Kafka 数据持久化存储目录,可以指定多个目录以实现数据在不同磁盘间的分布。
  • zookeeper.connect:(旧版 Kafka)指向 ZooKeeper 集群的连接字符串,例如 "localhost:2181""zookeeper1:2181,zookeeper2:2181,zookeeper3:2181"

网络与性能配置

  • advertised.listeners:对外公开的地址,用于消费者和生产者连接。如果服务器有内外网地址差异,需在此设置外部可访问的地址。
  • socket.send.buffer.bytessocket.receive.buffer.bytes:Socket 发送和接收缓冲区大小,用于调节网络性能。
  • num.network.threadsnum.io.threads:网络线程和I/O线程数量,分别用于处理网络请求和磁盘读写操作。
  • queued.max.requests:网络线程队列中最大待处理的请求数量。

日志和数据管理

  • log.retention.hourslog.retention.bytes:日志保留时间(小时)或日志文件大小上限,超过则触发日志清除。
  • log.segment.bytes:每个日志段(Segment)的最大大小,达到后会滚动到新的日志段。
  • log.flush.interval.messageslog.flush.interval.ms:刷盘策略,可设置每多少条消息或毫秒后强制刷盘。

副本和一致性

  • default.replication.factor:主题默认的复制因子,表示每个分区有多少个副本。
  • min.insync.replicas:至少要有多少个副本同步,才会认为写入成功(对于acks=all时)。
  • unclean.leader.election.enable:是否允许在ISR集合之外的副本成为领导者(在大多数情况下应禁用)。

安全与认证

  • ssl.enabled:是否启用 SSL 加密通信。
  • ssl.keystore.locationssl.truststore.location:Keystore 和 Truststore 文件的位置。
  • sasl.mechanismsecurity.inter.broker.protocol:配置 SASL 认证机制和 Broker 间通信协议安全性。

其他高级配置

  • controller.socket.timeout.ms:控制器连接超时时间。
  • offsets.topic.replication.factor:Offsets 主题的复制因子,用于存储消费者偏移量。
  • delete.topic.enable:是否允许通过AdminClient删除主题。

根据实际的集群规模、性能需求、安全性要求等因素,对这些配置参数进行适当的调整和优化。在进行配置变更时,务必确保符合Kafka的最佳实践,并且在集群重启后,新的配置才能生效。

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值