本文为您介绍如何修复EMR Kafka集群Broker节点的ECS实例存在的磁盘事件。

背景信息

当您收到提示本地磁盘硬件异常风险的邮件时,需要进行Kafka服务磁盘修复操作。

此时,您可以在ECS的控制台,查看修复磁盘事件流程。repair disk

事件处理概述

EMR Kafka Broker节点的ECS磁盘事件处理与响应和普通的ECS实例不完全相同,在ECS磁盘事件流程的不同阶段,需要穿插Kafka Broker相应的运维操作。整个流程大致可以分为磁盘下线、等待ECS磁盘修复和磁盘上线3个阶段。

本文以故障盘的设备名/dev/vdh,目标挂载目录/mnt/disk7为例,介绍如何运维EMR Kafka Broker节点的磁盘事件。
说明 ECS修复磁盘详情,请参见隔离损坏的本地盘(控制台)

故障磁盘下线

  1. 选择合适的磁盘恢复策略并执行相关操作。
    当ECS磁盘事件处于修改配置阶段时,您需要选择合适的EMR Kafka磁盘恢复策略进行Kafka磁盘运维操作,详细的运维策略请参见EMR Kafka磁盘故障运维

    按照Kafka磁盘恢复策略进行相关操作之后,单击ECS磁盘事件流程中修改配置中的下一步重启阶段。如果没有重启阶段,则处理至新盘插入中阶段。

    进行此步骤时,需注意以下信息:
    • 相关的修复策略通常会包含隔离坏盘操作,隔离坏盘之后,重启Broker之前,您需要将坏盘目录路径移出Kafka的log.dirs配置中。
    • 如果修复策略要求重启Broker,且ECS磁盘事件流程中也要求重启ECS实例,则可以将两者合并操作。
  2. 可选:重启ECS实例。
    如果ECS修复磁盘事件流程中,要求重启ECS,则可以按照如下步骤重启:
    1. 在EMR控制台停止故障Broker节点服务。
    2. 重启故障ECS实例。
      在ECS修复磁盘事件流程中,单击重启
    3. 在EMR控制台启动故障Broker节点服务。
      观察Broker节点状态是否处于正常状态。

      当执行完ECS实例重启后,修复磁盘事件处于新盘插入中阶段。

  3. 等待ECS修复磁盘。
    新盘插入中阶段,单击确定。确认后请等待阿里云在所宿物理机上更换损坏的本地盘,维护操作通常在五个工作日内完成,之后您会收到恢复磁盘的事件通知。

磁盘上线

收到恢复磁盘的事件通知后,您可以进行磁盘上线操作。

  1. 确认磁盘当前状态。
    1. 使用SSH方式登录Kafka集群,详情请参见登录集群
    2. 执行以下命令,确认磁盘已经插入,且磁盘大小为1 MB。
      lsblk
  2. 在ECS控制台,单击修复磁盘事件流程中的恢复磁盘,等待流程进入下一阶段。
    Recovery disk
  3. 可选:重启ECS实例。
    如果您的引导页面出现重启阶段,则需要进行重启。请按照如下步骤重启:
    1. 在EMR控制台停止故障Broker节点服务。
    2. 重启故障ECS实例。
      在修复磁盘事件流程中,单击重启
    3. 在EMR控制台启动故障Broker节点服务。
      观察Broker节点状态是否处于正常状态。
  4. 在故障节点执行以下命令,查看磁盘大小是否恢复。
    lsblk
  5. 重启完成后,在修复磁盘事件流程中,单击完成
    说明 ECS磁盘恢复流程完成后,您仍需要进行后续操作,完成Kafka Broker节点日志目录的恢复。
  6. 格式化磁盘和挂载磁盘。
    1. 执行以下命令,格式化磁盘。
      which  mkfs.ext4
      mkfs.ext4 -m 0 /dev/***
      说明 请替换/dev/***为您实际的设备名。
    2. 执行以下命令,配置/etc/fstab文件。
      echo "/dev/*** /mnt/*** ext4 defaults,noatime,nofail 0 0 " >> /etc/fstab
      说明 请替换/dev/***/mnt/***为您实际的设备名和挂载目录。
    3. 执行以下命令,确认/etc/fstab文件是否配置正确。
      more /etc/fstab

      根据以下回显信息,可以确认/etc/fstab文件已正确配置。

      查看文件配置
    4. 执行以下命令,挂载磁盘。
      mount /dev/** /mnt/***

      请替换设备名和挂载目录。本文示例是将/dev/vdh挂载至/mnt/disk7,所以命令为mount /dev/vdh /mnt/disk7

    5. 执行以下命令,确认磁盘是否已经挂载。
      df -h

      根据以下回显信息,可以确认磁盘已经挂载。

      mount
  7. 按照您选择的Kafka磁盘修复策略,恢复Kafka Broker节点日志目录,详情请参见EMR Kafka磁盘故障运维
  8. 可选:按照您选择的Kafka磁盘修复策略,迁移Kafka分区副本至修复后的磁盘,使负载更加均衡,详情请参见EMR Kafka磁盘故障运维