在Linux上配置Kafka时,server.properties
文件是主要的配置文件,它包含了多个关键参数,用于定义Kafka集群的行为和性能。以下是一些必须和常用的配置参数及其解释:
broker.id
: 每一个Broker在集群中的唯一标识。即使Broker的IP地址发生了变化,只要broker.id
不变,就不会影响consumers的消息情况。log.dirs
: 用于存储Kafka日志文件的目录,可以配置多个目录以提高读写性能和故障转移能力。listeners
: Kafka服务端监听的协议、主机名以及端口的格式。例如:listeners=PLAINTEXT://your.host.name:9092
num.network.threads
: 接收请求的线程数。num.io.threads
: 执行请求的线程数。socket.send.buffer.bytes
: TCP连接的发送缓冲区大小。socket.receive.buffer.bytes
: TCP连接的接收缓冲区大小。socket.request.max.bytes
: 请求的最大长度。num.partitions
: 每个Topic默认的partition数量,默认值是1。default.replication.factor
: 新建Topic的默认副本数。offsets.topic.replication.factor
: offset topic的replicas数量。transaction.state.log.replication.factor
: 事务主题的复制因子。log.retention.hours
: 消息在Kafka中保存的时间,超过这个时间的消息会被删除。log.retention.bytes
: 当剩余空间低于此值时,开始删除日志。log.segment.bytes
: segment日志文件大小的上限值。log.retention.check.interval.ms
: 检查日志文件是否过期的间隔时间。log.cleanup.policy
: 日志清理策略,可以是delete
或compact
。zookeeper.connect
: 连接到Zookeeper集群的地址。auto.create.topics.enable
: 是否允许自动创建Topic,建议在生产环境中设置为false。delete.topic.enable
: 是否允许删除Topic。请注意,这些只是Kafka配置中的一部分参数,具体配置可能需要根据实际需求和集群规模进行调整。在修改配置文件后,通常需要重启Kafka服务以使更改生效。