修改Kafka实例配置参数
分布式消息服务Kafka版为实例、Topic、消费者提供了几个常用配置参数的默认值,您可以根据实际业务需求,在控制台自行修改参数值。其他在控制台未列出的配置参数,请参考Kafka配置进行修改。
Kafka实例的参数分为动态参数和静态参数:
- 动态参数:动态参数修改成功后,无需重启实例,立即生效。
- 静态参数:静态参数修改成功后,需要手动重启实例才能生效。
约束与限制
- 部分老实例不支持修改配置参数,具体以控制台为准,此时请联系客服解决。
- 单机实例不支持修改配置参数。
前提条件
Kafka实例的状态为“运行中”时,才能修改配置参数。
修改Kafka实例配置参数
- 登录管理控制台。
- 在管理控制台左上角单击,选择区域。
请选择Kafka实例所在的区域。
- 在管理控制台左上角单击,选择“应用中间件 > 分布式消息服务Kafka版”,进入分布式消息服务Kafka专享版页面。
- 在左侧导航栏单击“Kafka实例”,进入Kafka实例列表页面。
- 单击Kafka实例的名称,进入实例详情页面。
- 在“配置参数”页面,在待修改参数所在行,单击“编辑”,修改配置参数。
1.1.0版本实例的参数说明如表1和表2所示,2.3.0/2.7/3.x版本实例的参数说明如表3和表4所示。
表1 动态参数说明(1.1.0版本) 参数
参数说明
参数范围
默认值
auto.create.groups.enable
是否开启自动创建消费组功能。
2023年4月25日及以后创建的实例支持在控制台修改此参数,在此之前创建的实例默认开启自动创建消费组功能,无法在控制台关闭此功能。
true/false
true
offsets.retention.minutes
消费位点保留时间是消费位点最大保留时间,从提交消费位点的时间开始计算,超过该时间的消费位点将被删除。消费者每次向Topic分区提交一次消费位点时,该消费位点的保留时间将会被重置为0。
2023年5月1日前创建的实例,此参数为静态参数。
1440 ~ 30240
单位:分钟
20160
表2 静态参数说明(1.1.0版本) 参数
参数说明
参数范围
默认值
min.insync.replicas
当producer将acks设置为“all”(或“-1”)时,此配置指定必须确认写入才能被认为成功的副本的最小数量。
1 ~ 3
1
message.max.bytes
单条消息的最大长度。
0 ~ 10485760
单位:字节
10485760
unclean.leader.election.enable
指示是否启用不在ISR集合中的副本选为领导者作为最后的手段,即使这样做可能导致数据丢失。
true/false
false
connections.max.idle.ms
此参数用来指定在多少毫秒之后,关闭空闲的连接。
5000 ~ 600000
单位:毫秒
600000
log.retention.hours
日志文件最大保存时间。
如果Topic已经设置了老化时间,则此参数对此Topic不生效。仅在Topic未设置老化时间时,此参数才对此Topic生效。
1 ~ 168
单位:小时
72
max.connections.per.ip
每个IP允许的最大连接数。超过此连接数的连接请求将被丢弃。
100 ~ 20000
1000
group.max.session.timeout.ms
consumer允许的最大会话超时时间。超时时间越长,consumer就能在心跳探测周期内有更多时间处理消息,但也会使故障检测花费更长时间。
6000 ~ 1800000
单位:毫秒
1800000
default.replication.factor
自动创建Topic时的默认副本个数。
1 ~ 3
3
allow.everyone.if.no.acl.found
如果设置为true,没有给资源配置ACL时,允许所有用户访问。
仅在实例开启密文接入时,存在此参数。
2023年9月15日前创建的实例不支持修改此参数。
true/false
true
num.partitions
自动创建Topic时的默认分区数。
1 ~ 200
3
group.min.session.timeout.ms
consumer允许的最小会话超时时间。超时时间越短,consumer的心跳探测越频繁,可以使故障检测更快,但会导致broker被抢占更多的资源。
6000 ~ 300000
单位:毫秒
6000
表3 动态参数说明(2.3.0/2.7/3.x版本) 参数
参数说明
参数范围
默认值
min.insync.replicas
当producer将acks设置为“all”(或“-1”)时,此配置指定必须确认写入才能被认为成功的副本的最小数量。
1 ~ 3
1
message.max.bytes
单条消息的最大长度。
0 ~ 10485760
单位:字节
10485760
auto.create.groups.enable
是否开启自动创建消费组功能。
2023年4月25日及以后创建的实例支持在控制台修改此参数,在此之前创建的实例默认开启自动创建消费组功能,无法在控制台关闭此功能。
true/false
true
max.connections.per.ip
每个IP允许的最大连接数。超过此连接数的连接请求将被丢弃。
100 ~ 20000
1000
unclean.leader.election.enable
指示是否启用不在ISR集合中的副本选为领导者作为最后的手段,即使这样做可能导致数据丢失。
true/false
false
offsets.retention.minutes
消费位点保留时间是消费位点最大保留时间,从提交消费位点的时间开始计算,超过该时间的消费位点将被删除。消费者每次向Topic分区提交一次消费位点时,该消费位点的保留时间将会被重置为0。
2023年5月1日前创建的实例,此参数为静态参数。
1440 ~ 30240
单位:分钟
20160
表4 静态参数说明(2.3.0/2.7/3.x版本) 参数
参数说明
参数范围
默认值
connections.max.idle.ms
此参数用来指定在多少毫秒之后,关闭空闲的连接。
5000 ~ 600000
单位:毫秒
600000
log.retention.hours
日志文件最大保存时间。
如果Topic已经设置了老化时间,则此参数对此Topic不生效。仅在Topic未设置老化时间时,此参数才对此Topic生效。
1 ~ 168
单位:小时
72
group.max.session.timeout.ms
consumer允许的最大会话超时时间。超时时间越长,consumer就能在心跳探测周期内有更多时间处理消息,但也会使故障检测花费更长时间。
6000 ~ 1800000
单位:毫秒
1800000
default.replication.factor
自动创建Topic时的默认副本个数。
1 ~ 3
3
allow.everyone.if.no.acl.found
如果设置为true,没有给资源配置ACL时,允许所有用户访问。
仅在实例开启密文接入时,存在此参数。
2023年9月15日前创建的实例不支持修改此参数。
true/false
true
num.partitions
自动创建Topic时的默认分区数。
1 ~ 200
3
group.min.session.timeout.ms
consumer允许的最小会话超时时间。超时时间越短,consumer的心跳探测越频繁,可以使故障检测更快,但会导致broker被抢占更多的资源。
6000 ~ 300000
单位:毫秒
6000
- 如果需要批量修改参数,单击“批量编辑”,可以一次性编辑多个动态参数或静态参数的运行值。
- 如果需要恢复默认值,在待修改参数后,单击“恢复默认”。
- 单击“保存”,完成参数的修改。
动态参数修改成功后,无需重启实例,立即生效。静态参数修改成功后,需要手动重启实例才能生效。