在Ubuntu下配置Kafka时,主要的配置文件是server.properties
,该文件位于Kafka安装目录的config
文件夹中。以下是一些关键的配置参数及其说明:
Broker端参数
broker.id
: 每个Kafka broker的唯一标识符。listeners
: Kafka监听的地址和端口。advertised.listeners
: 对外暴露的地址和端口。log.dirs
: Kafka日志存储的目录。zookeeper.connect
: Zookeeper的连接字符串。log.retention.hours
: 消息保留时间,例如设置为168表示保存7天。log.retention.bytes
: 消息保留的总磁盘容量大小。message.max.bytes
: Broker能够接收的最大消息大小。num.network.threads
: 处理网络请求的线程数量。num.io.threads
: 处理磁盘IO的线程数量。socket.send.buffer.bytes
: 发送套接字的缓冲区大小。socket.receive.buffer.bytes
: 接收套接字的缓冲区大小。socket.request.max.bytes
: 请求套接字的缓冲区大小。
Topic级别参数
auto.create.topics.enable
: 是否允许自动创建topic。auto.leader.rebalance.enable
: 是否允许Kafka定期进行Leader重新选举。retention.ms
: 该Topic消息被保存的时长。retention.bytes
: 为该Topic预留的磁盘空间大小。num.partitions
: 新创建的主题将包含的分区数。default.replication.factor
: 主题的副本数。offsets.topic.replication.factor
: Offset Topic的副本数。num.recovery.threads.per.data.dir
: 每个数据目录的恢复线程数量。transaction.state.log.replication.factor
: 事务主题的副本数。transaction.state.log.min.isr
: 事务主题的min.insync.replicas配置。
JVM级别参数
KAFKA_HEAP_OPTS
: 指定堆大小,例如设置堆内存为2GB:-Xmx2G -Xms2G
。KAFKA_JVM_PERFORMANCE_OPTS
: 指定GC参数。
请注意,这些只是一些常见的配置参数,具体的配置可能需要根据实际的使用场景和需求进行调整。例如,log.retention.hours
和log.retention.bytes
可以根据存储需求和数据保留策略进行设置。此外,Kafka还支持通过环境变量和配置文件来管理这些参数,以便于在不同环境中进行部署和管理。