更新时间:2024-12-12 GMT+08:00
分享

查看Kafka重平衡日志

Rebalance是重新分配消息组中的消费者和Topic分区之间订阅关系的过程。在Rebalance过程中消费组下的所有消费者都会停止消费,等待Rebalance完成。

可能会触发Rebalance的原因:

  • 消费组成员个数发生变化,例如有新的消费者加入,或者有消费者退出。
  • 消费组订阅的Topic个数发生变化。
  • 消费组订阅的Topic分区数发生变化。

重平衡日志记录Rebalance的详情,包括Rebalance时间、原因和触发Rebalance的客户端等。本章节介绍如何在控制台查看重平衡日志。

重平衡日志存储在云日志服务(Log Tank Service,简称LTS)中,由LTS提供查询功能。

约束与限制

  • 2023年4月6日前创建的实例,不支持重平衡日志功能。
  • 单机实例不支持查看重平衡日志。
  • 重平衡日志默认存储时间为七天,如果需要延长保留天数,可以在LTS控制台修改日志组的存储时间
  • 重平衡日志开启后会在LTS控制台创建对应的日志组、日志流和仪表盘。使用期间按照日志量收费,收费标准请参照LTS价格详情

前提条件

  • 开启重平衡日志需要您的账号拥有LTS服务的创建日志组和日志流的权限。
  • Kafka实例处于“运行中”时,才能开启/关闭重平衡日志。

开启重平衡日志

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

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

  3. 在管理控制台左上角单击,选择“应用中间件 > 分布式消息服务Kafka版”,进入分布式消息服务Kafka专享版页面。
  4. 在左侧导航栏单击“Kafka实例”,进入Kafka实例列表页面。
  5. 单击Kafka实例的名称,进入实例详情页面。
  6. 在左侧导航栏单击“重平衡日志”,进入“重平衡日志”页面。
  7. 单击“开启日志”,页面右上角显示“重平衡日志开启成功”时,表示开启重平衡日志成功。

    开启重平衡日志后,会在LTS控制台创建对应的日志组和日志流。

查看重平衡日志

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

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

  3. 在管理控制台左上角单击,选择“应用中间件 > 分布式消息服务Kafka版”,进入分布式消息服务Kafka专享版页面。
  4. 在左侧导航栏单击“Kafka实例”,进入Kafka实例列表页面。
  5. 单击Kafka实例的名称,进入实例详情页面。
  6. 在左侧导航栏单击“重平衡日志”,进入“重平衡日志”页面。
  7. 在“仪表盘”页签,查看消费组重平衡次数和原因。在“日志查询”页签,查看重平衡日志。

    如果您需要搜索日志,请参考进入搜索LTS日志页面进行操作。

    重平衡日志示例如下:

    {
        "level":"INFO",
        "timestamp":"2023-03-23 17:23:22,906",
        "message":{
            "leaderId":"consumer-1-177817b6-1f29-4717-8a83-dda8eaab1635",
            "generationId":"1",
            "reason":"Assignment received from leader for group KMOffsetCache-dms-vm-fa3cf9d6-manager-shared-server-0 for generation 1",
            "groupId":"KMOffsetCache-dms-vm-fa3cf9d6-manager-shared-server-0",
            "coordinatorId":"0",
            "type":"END_REBALANCE",
            "group":"GroupMetadata(groupId=KMOffsetCache-dms-vm-fa3cf9d6-manager-shared-server-0, generation=1, protocolType=Some(consumer), currentState=CompletingRebalance, members=Map(consumer-1-177817b6-1f29-4717-8a83-dda8eaab1635 -> MemberMetadata(memberId=consumer-1-177817b6-1f29-4717-8a83-dda8eaab1635, clientId=consumer-1, clientHost=/172.31.2.168, sessionTimeoutMs=10000, rebalanceTimeoutMs=300000, supportedProtocols=List(range), )))"
        }
    }

    参数说明如表1所示。

    表1 重平衡参数说明

    参数名称

    说明

    level

    重平衡日志的等级,只有“INFO”一种等级。

    timestamp

    Rebalance时间。

    leaderId

    消费者Leader ID。

    generationId

    消费者组Generation ID。Generation等同于消费组执行Rebalance的次数,每次Rebalance完成后,Generation都会增加1。

    reason

    触发Rebalance的原因。

    groupId

    消费组ID。

    coordinatorId

    Coordinator组件所在的Broker。

    type

    触发Rebalance的操作,取值如下:

    • JOIN_GROUP:新消费者加入消费组。
    • OVER_CAPACITY:超过组限制。
    • UPDATE_MEMBER: 消费者更新元数据。
    • PROTOCOL_CHANGE:协议变化。
    • HEARTBEAT_EXPIRED:消费者心跳超时。
    • SYNC_GROUP:同步分配计划。
    • END_REBALANCE:重平衡结束。
    • LEAVE_GROUP:消费者主动离开消费组。

    group

    消费组中消费者的信息。

关闭重平衡日志

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

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

  3. 在管理控制台左上角单击,选择“应用中间件 > 分布式消息服务Kafka版”,进入分布式消息服务Kafka专享版页面。
  4. 在左侧导航栏单击“Kafka实例”,进入Kafka实例列表页面。
  5. 单击Kafka实例的名称,进入实例详情页面。
  6. 在左侧导航栏单击“重平衡日志”,进入“重平衡日志”页面。
  7. 在页面右上角单击“关闭日志”,弹出确认关闭对话框,单击“确认”,完成重平衡日志的关闭。

    关闭重平衡日志只是停止重平衡日志上报功能,LTS控制台的日志组和日志流仍然保留,还会继续收费,如不需要保留该日志,可以在LTS控制台删除对应的日志组日志流

相关文档