-
broker.id=1:为 broker 指定一个唯一的 ID。
-
listeners=PLAINTEXT://x.x.x.x:xxx:指定 broker 监听的协议、IP 地址和端口。
-
num.network.threads=3:指定用于处理网络请求的线程数。
-
num.io.threads=8:指定用于 I/O 操作的线程数。
-
socket.send.buffer.bytes=102400:设置 socket 发送缓冲区的大小。
-
socket.receive.buffer.bytes=102400:设置 socket 接收缓冲区的大小。
-
socket.request.max.bytes=104857600:指定 Kafka broker 能够接收的最大请求大小。
-
log.dirs=/data/kafka/logs:指定日志文件存储的目录。
-
num.partitions=1:为自动创建的主题默认分区数。
-
num.recovery.threads.per.data.dir=1:指定每个数据目录用于日志恢复的线程数。
-
default.replication.factor=1:默认的副本因子,即默认情况下,消息会被复制到多少个 broker 上。
-
offsets.topic.replication.factor=1:偏移主题的副本因子。
-
transaction.state.log.replication.factor=1:事务状态日志的副本因子。
-
transaction.state.log.min.isr=1:事务日志的最小副本数。
-
log.retention.hours=24:设置日志文件的保留时间。
-
log.segment.bytes=1073741824:设置日志段文件的大小。
-
log.retention.check.interval.ms=300000:设置日志保留检查的时间间隔。
-
zookeeper.connect=x.x.x.x:x1:指定 Kafka 用于与 ZooKeeper 通信的地址和端口。
-
zookeeper.connection.timeout.ms=18000:设置与 ZooKeeper 连接的超时时间。
-
group.initial.rebalance.delay.ms=0:设置消费者组在 Kafka 启动时进行初始再平衡操作的延迟。
-
auto.create.topics.enable=true:是否允许 Kafka 自动创建主题。
-
delete.topic.enable=true:是否允许删除主题。
-
unclean.leader.election.enable=false:是否启用不洁的领导者选举。
-
max.inflight.requests.per.connection:这个参数指定了在任何给定时间点,客户端可以向 broker 发送的最大未确认请求数。增加此值可以提高吞吐量,但也可能增加延迟,因为客户端在等待更多的请求得到响应。如果设置得太低,可能会降低吞吐量,因为客户端在发送更多请求之前需要等待确认。
请注意,调整这些参数时需要根据你的具体使用场景和 Kafka 集群的性能特点来进行。错误的配置可能会导致性能问题或不稳定的行为。在改变配置后,需要重启 Kafka 服务以使更改生效。
num.network.threads
:默认值为 3,推荐值通常也是 3,但可以根据网络硬件的性能进行调整。num.io.threads
:默认值为 8,推荐值同样为 8,这个值可以根据 I/O 密集型任务的需求进行调整。socket.send.buffer.bytes
和socket.receive.buffer.bytes
:默认值分别为 16384001 字节(32KB),推荐值可以根据网络条件和 Kafka 版本进行调整。socket.request.max.bytes
:默认值为 104857600 字节(100MB),这个值通常不需要调整,除非有特别大的消息需要发送。log.retention.hours
:默认值为 168 小时(7天),推荐值可以根据日志保留策略进行调整。log.segment.bytes
:默认值为 1073741824 字节(1GB),推荐值可以根据磁盘 I/O 性能和日志文件管理策略进行调整。
关于 Kafka 参数的更多详细信息和推荐值,你可以在 Kafka 的官方文档中找到。以下是 Kafka 官方文档的链接,你可以在其中找到关于配置参数的详细说明:
- Kafka 配置参数文档:Kafka Configuration
- Kafka 性能调优指南:Kafka Performance Tuning
请注意,Kafka 的配置和推荐值可能会随着版本的更新而变化,因此建议参考你所使用的 Kafka 版本的官方文档。此外,实际的推荐值还应考虑你的特定使用场景、硬件配置和网络环境。