文档首页/ MapReduce服务 MRS/ 用户指南/ MRS集群运维/ MRS集群告警处理参考/ ALM-38021 Kafka不可用Partition总数超过阈值
更新时间:2026-11-03 GMT+08:00
分享

ALM-38021 Kafka不可用Partition总数超过阈值

告警解释

系统每60秒周期性检测Kafka服务不可用的Partition数,当连续3次检测到该数值超出阈值时(默认阈值为0)产生该告警。

本章节仅适用于MRS 3.7.0-LTS及之后版本。

告警属性

告警ID

告警级别

是否可自动清除

38021

紧急

是

告警参数

类别

参数名称

参数含义

定位信息

来源

产生告警的集群名称。

服务名

产生告警的服务名称。

角色名

产生告警的角色名称。

附加信息

触发条件

系统当前指标取值满足自定义的告警设置条件。

对系统的影响

Kafka存在不可用的Partition时,该Partition的数据将无法被写入和读取,导致相关业务受影响。

可能原因

  • Broker节点故障或进程异常退出,导致Partition副本下线。
  • Broker端JVM GC停顿过长,导致Broker心跳超时被标记为离线,且无其他可用副本。
  • 磁盘空间写满或故障,导致副本数据损坏或无法访问。
  • 网络分区导致Controller与Broker之间通信中断,Partition的元数据无法正常同步。

处理步骤

检查Broker实例是否故障。

  1. 登录MRS集群Manager页面,选择“集群 > 服务 > Kafka > 实例”,进入Kafka实例页面。

    登录集群Manager具体操作,请参考访问MRS集群Manager。

  2. 查看是否有故障的Broker实例。

  3. 选择“运维 > 告警 > 告警”,查看所有告警信息中是否有步骤 2中节点主机对应的其他故障告警,根据对应的告警指导进行处理。
  4. 选择“集群 > 服务 > Kafka > 实例”,进入Kafka实例页面。
  5. 查看所有Broker实例中是否有已停止的实例。

  6. 勾选所有已停止的Broker实例,单击“启动实例”,等待启动完成。
  7. 等待5分钟,观察界面告警是否清除。

    • 是,处理完毕。
    • 否,执行步骤 8。

检查Broker GC情况。

  1. 在Manager页面,选择“运维 > 告警 > 告警”,查看是否存在“Broker进程垃圾回收(GC)时间超过阈值”告警。

    • 是,参考“ALM-38005 Broker进程垃圾回收(GC)时间超过阈值”告警处理步骤进行处理。
    • 否,执行步骤 10。

  2. 等待5分钟,观察界面告警是否清除。

    是,处理完毕。

    否,执行步骤 10。

检查磁盘状态。

  1. 选择“运维 > 告警 > 告警”,查看是否存在“慢盘故障”或“磁盘不可用”或“Kafka磁盘容量不足”告警。

    • 是,参考“ALM-12033 慢盘故障”、“ALM-12063 磁盘不可用”、“ALM-38001 Kafka磁盘容量不足”告警处理步骤进行处理。
    • 否,执行步骤 12。

  2. 等待5分钟,观察界面告警是否清除。

    • 是,处理完毕。
    • 否,执行步骤 12。

检查网络连通性。

  1. 选择“运维 > 告警 > 告警”,查看是否存在“节点间网络互通异常”告警。

    • 是,参考“ALM-12089 节点间网络互通异常”告警处理步骤进行处理。
    • 否,执行步骤 14。

  1. 等待5分钟,观察界面告警是否清除。

    • 是,处理完毕。
    • 否,执行步骤 14。

收集故障信息。

  1. 收集不可用分区与Broker信息。

    1. 以客户端安装用户,登录已安装Kafka客户端的节点。
    2. 切换到Kafka客户端安装目录,例如“/opt/hadoopclient”
      cd /opt/hadoopclient
    3. 执行以下命令,配置环境变量。
      source bigdata_env
    4. 执行以下命令,进行用户认证(普通模式跳过此步骤)。
      kinit 组件业务用户
    5. 执行以下命令,切换到Kafka目录。
      cd Kafka/kafka
    6. 使用“kafka-topics.sh”查询不可用的分区详情并记录。
      bin/kafka-topics.sh --describe --bootstrap-server <Kafka集群IP:21007> --unavailable-partitions --command-config config/client.properties
      Kafka集群IP及端口可参考以下操作获取:
      1. 在Manager页面,选择“集群 > 服务 > Kafka > 实例”,查看并记录任意一个Broker角色实例的业务IP地址。
      2. 选择“配置 > 全部配置”,并根据集群模式获取端口号:
        • 集群已启用Kerberos认证(安全模式):搜索“sasl.port”参数,查看并记录端口号,默认为21007。
        • 集群未启用Kerberos认证(普通模式):搜索“port”参数,查看并记录端口号,默认为9092。
    7. 使用“kafka-broker-info.sh”查询当前集群的Broker信息并记录。
      bin/kafka-broker-info.sh --zookeeper ZooKeeper的任意一个节点的业务IP:clientPort/kafka
      ZooKeeper节点业务IP及端口可参考以下操作获取:
      1. 在Manager页面,选择“集群 > 服务 > ZooKeeper > 实例”,查看并记录任意一个ZooKeeper角色实例的业务IP地址。
      2. 选择“配置 > 全部配置”,搜索“clientPort”,查看并记录端口号。

        创建LTS版本类型集群时,可以选择“组件端口”为“开源”场景或“定制”场景,选择“开源”时ZooKeeper默认端口为2181,选择“定制”时ZooKeeper默认端口为24002。

  2. 在MRS Manager界面,选择“运维 > 日志 > 下载”。
  3. 在“服务”框中勾选待操作集群的“Kafka”。
  4. 单击右上角的时间编辑按钮,设置日志收集的“开始时间”和“结束时间”分别为告警产生时间的前后10分钟,单击“下载”。
  5. 请联系运维人员,并发送已收集的客户端查询结果与故障日志信息。

告警清除

此告警修复后,系统会自动清除此告警,无需手工清除。

参考信息

不涉及。

相关文档