更新时间:2024-10-10 GMT+08:00

修改Kafka实例配置参数

分布式消息服务Kafka版为实例、Topic、消费者提供了几个常用配置参数的默认值,您可以根据实际业务需求,在控制台自行修改参数值。其他在控制台未列出的配置参数,请参考Kafka配置进行修改。

Kafka实例的参数分为动态参数和静态参数:

  • 动态参数:动态参数修改成功后,无需重启实例,立即生效。
  • 静态参数:静态参数修改成功后,需要手动重启实例才能生效。
  • 部分老实例不支持修改配置参数,具体以控制台为准,此时请联系客服解决。
  • 单机实例不支持修改配置参数。

前提条件

Kafka实例的状态为“运行中”时,才能修改配置参数。

修改Kafka实例配置参数

  1. 登录管理控制台。
  2. 在管理控制台左上角单击,选择区域。

    请选择Kafka实例所在的区域。

  3. 在管理控制台左上角单击,选择“应用中间件 > 分布式消息服务Kafka版”,进入分布式消息服务Kafka专享版页面。
  4. 单击Kafka实例的名称,进入实例详情页面。
  5. 在“配置参数”页面,在待修改参数所在行,单击“编辑”,修改配置参数。

    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

    • 如果需要批量修改参数,单击“批量编辑”,可以一次性编辑多个动态参数或静态参数的运行值。
    • 如果需要恢复默认值,在待修改参数后,单击“恢复默认”。

  6. 单击“保存”,完成参数的修改。

    动态参数修改成功后,无需重启实例,立即生效。静态参数修改成功后,需要手动重启实例才能生效