在Debian系统上,Kafka的主要配置文件是server.properties
,该文件通常位于Kafka安装目录的config
文件夹中。以下是server.properties
文件的一些关键配置项及其解释:
broker.id
- 描述:每个Kafka broker的唯一标识符。
- 示例:
broker.id=0
listeners
- 描述:Kafka服务器监听的地址和端口。
- 示例:
listeners=PLAINTEXT://:9092
advertised.listeners
- 描述:对外宣布的监听地址和端口,用于客户端连接。
- 示例:
advertised.listeners=PLAINTEXT://your.kafka.host:9092
zookeeper.connect
- 描述:ZooKeeper服务器的地址,用于集群管理和协调。
- 示例:
zookeeper.connect=localhost:2181
num.network.threads
- 描述:用于处理网络请求的线程数。
- 示例:
num.network.threads=8
num.io.threads
- 描述:用于磁盘I/O的线程数。
- 示例:
num.io.threads=8
log.dirs
- 描述:Kafka日志存储的目录。
- 示例:
log.dirs=/tmp/kafka-logs
num.partitions
- 描述:默认分区数。
- 示例:
num.partitions=1
default.replication.factor
- 描述:默认的副本因子,表示每个分区的副本数。
- 示例:
default.replication.factor=1
min.insync.replicas
- 描述:保证数据同步的最小副本数。
- 示例:
min.insync.replicas=1
log.retention.hours
- 描述:日志保留时间,超过这个时间日志会被删除。
- 示例:
log.retention.hours=168
log.segment.bytes
- 描述:每个日志段的大小。
- 示例:
log.segment.bytes=1073741824
(1GB)
log.flush.interval.messages
- 描述:触发日志刷新的消息数量。
- 示例:
log.flush.interval.messages=10000
log.flush.interval.ms
- 描述:触发日志刷新的时间间隔。
- 示例:
log.flush.interval.ms=1000
其他配置项
- auto.create.topics.enable:是否允许自动创建主题。
- ssl.keystore.location:SSL证书的位置。
- ssl.keystore.password:SSL证书的密码。
- ssl.key.password:SSL密钥的密码。