在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密鑰的密碼。