文档首页/ MapReduce服务 MRS/ 用户指南/ MRS集群运维/ MRS集群告警处理参考/ ALM-38001 Kafka磁盘容量不足(2.x及以前版本)
更新时间:2024-09-04 GMT+08:00

ALM-38001 Kafka磁盘容量不足(2.x及以前版本)

告警解释

系统按60秒周期检测Kafka磁盘空间使用率,并把实际磁盘使用率和阈值相比较。磁盘使用率默认提供一个阈值范围。当检测到磁盘使用率高于阈值时产生该告警。

用户可通过系统设置 > 阈值配置修改阈值。

当Kafka磁盘使用率小于或等于阈值时,告警恢复。

告警属性

告警ID

告警级别

可自动清除

38001

严重

告警参数

参数名称

参数含义

ServiceName

产生告警的服务名称。

RoleName

产生告警的角色名称。

HostName

产生告警的主机名。

PartitionName

产生告警的磁盘分区。

Trigger Condition

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

对系统的影响

磁盘容量不足会导致Kafka写入数据失败。

可能原因

  • 用于存储Kafka数据的磁盘配置(如磁盘数目、磁盘大小等),无法满足当前业务数据流量,导致磁盘使用率达到上限。
  • 数据保存时间配置过长,数据累积达到磁盘使用率上限。
  • 业务规划不合理,导致数据分配不均,使部分磁盘达到使用率上限。

处理步骤

  1. 登录MRS集群详情页面,选择“告警管理”。
  2. 在告警列表中单击该告警,从“告警详情”“定位信息”中获得HostName(主机名称)和PartitionName(磁盘分区名称)。
  3. “主机管理”页面,单击2中获取的主机名称。
  4. 检查“磁盘”区域中是否包含该告警中的磁盘分区名称。

    • 是,执行5
    • 否,手动清除该告警,操作结束。

  5. 检查“磁盘”区域中包含该告警中的磁盘分区使用率是否达到百分之百。

    • 是,执行6
    • 否,执行8

  6. “实例”区域中,单击Broker > 实例配置,进入当前节点实例配置页面,将“基础配置”切换为“全部配置”,查看数据目录配置参数“log.dirs”
  7. 单击组件管理 > Kafka > 实例,进入“Kafka实例”页面,停止2中对应的Broker实例,并登录该节点,手动删除6中配置的数据目录,然后继续执行后续步骤,待后续步骤执行完成后,再启动当前Broker实例。
  8. 单击组件管理 > Kafka > 服务配置,进入Kafka服务配置页面。
  9. 查看参数“disk.adapter.enable”是否配置为“true”

    • 是,执行11
    • 否,配置为“true”,开启该功能,执行10

  10. 查看参数“adapter.topic.min.retention.hours”所配置的数据最短保存周期是否合理。

    • 是,执行12
    • 否,根据业务需求合理调整数据保存周期,执行12

    如果有个别Topic不能做保存周期调整,那么可配置在“disk.adapter.topic.blacklist”中。

  11. 等待10分钟,查看故障磁盘使用率是否有减少。

    • 是,继续等待直到告警消除。
    • 否,执行12

  12. 进入Kafka Topic监控页面,查看Kafka配置的数据保存时间配置,根据业务需求和业务量权衡,考虑是否需要调小数据保存时间。

    • 是,执行13
    • 否,执行14

  13. 根据2中上报告警的磁盘分区,找到数据量较大的Topic,手动调小保存周期,使用Kafka的linux客户端,执行如下操作命令:

    kafka-topics.sh --zookeeper ZooKeeper地址:24002/kafka --alter --topic Topic名称 --config retention.ms=保存时间

  14. 查看是否由于某些Topic的Partition配置不合理导致部分磁盘使用率达到上限(例如:数据量非常大的Topic的Partition数目小于配置的磁盘个数,导致各磁盘上数据分配无法均匀,进而部分磁盘达到使用率上限)。

    如果不清楚哪些Topic业务数据量较大,可以根据2中获取到的主机节点信息,登录到实例节点上,进入对应的数据目录(即6“log.dirs”修改之前的配置路径),查看该目录下哪些Topic的Patition目录占用的磁盘空间比较大。

    • 是,执行15
    • 否,执行16

  15. 通过Kafka客户端对Topic的Partition进行扩展,命令行操作命令如下:

    kafka-topics.sh --zookeeper ZooKeeper地址:24002/kafka --alter --topic Topic名称 --partitions=新Partition数目

    新Partition数目建议配置为Kafka数据磁盘数量的倍数。

    当前步骤修改可能不会很快解决当前告警,需要结合数据保存时间逐渐均衡数据。

  16. 考虑是否需要扩容。

    • 是,请为集群添加节点,然后执行17
    • 否,执行17

  17. 等待一段时间,检查告警是否清除。

    • 是,操作结束。
    • 否,执行18

  18. 收集故障信息。

    1. 在MRS Manager界面,单击“系统设置 > 日志导出”。
    2. 请联系运维人员,并发送已收集的故障日志信息。

参考信息

无。