Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Actualización más reciente 2023-11-20 GMT+08:00

ALM-38001 Capacidad de disco Kafka insuficiente

Descripción

El sistema comprueba el uso del disco Kafka cada 60 segundos y compara el uso real del disco con el umbral. El uso del disco tiene un umbral predeterminado. Esta alarma se genera cuando el uso del disco es mayor que el umbral.

Puede cambiar el umbral en O&M > Alarm > Thresholds. En la lista de servicios, elija Kafka > Disk > Broker Disk Usage (Broker) y cambie el umbral.

Cuando el Trigger Count es 1, esta alarma se borra cuando el uso del disco Kafka es menor o igual al umbral. Cuando el Trigger Count es mayor que 1, esta alarma se borra cuando el uso del disco Kafka es menor o igual al 90% del umbral.

Atributo

ID de alarma

Gravedad de la alarma

Borrado automáticamente

38001

Importante

Parámetros

Nombre

Significado

Source

Especifica el clúster para el que se genera la alarma.

ServiceName

Especifica el servicio para el que se genera la alarma.

RoleName

Especifica el rol para el que se genera la alarma.

HostName

Especifica el host para el que se genera la alarma.

PartitionName

Especifica la partición de disco donde se genera la alarma.

Trigger Condition

Especifica el umbral que activa la alarma. Si el valor del indicador actual excede este umbral, se genera la alarma.

Impacto en el sistema

Las operaciones de escritura de datos Kafka se ven afectadas.

Causas posibles

  • La configuración (como el número y el tamaño) de los discos para almacenar datos de Kafka no puede cumplir con el requisito del tráfico de servicio actual, debido a lo cual el uso del disco alcanza el límite superior.
  • El tiempo de retención de datos es demasiado largo, debido a lo cual el uso del disco de datos alcanza el límite superior.
  • El plan de servicio no distribuye los datos de manera uniforme, debido a lo cual el uso de algunos discos alcanza el límite superior.

Procedimiento

Verificar la configuración del disco de datos de Kafka.

  1. En el portal del Administrador FusionInsight y haga clic en O&M > Alarm > Alarms.
  2. En la lista de alarmas, localice la alarma y obtenga HostName de Location.
  3. Haga clic en Cluster > Name of the desired cluster > Hosts.
  4. En la lista de hosts, haga clic en el nombre de host obtenido en 2.
  5. Compruebe si el área Disk contiene el nombre de la partición en la alarma.

    • En caso afirmativo, vaya a 6.
    • En caso negativo, borre manualmente la alarma y no se requiere ninguna operación adicional.

  6. Compruebe si el uso de la partición de disco contenida en la alarma alcanza el 100% en el área Disk.

Comprobar la duración del almacenamiento de datos de Kafka.

  1. Seleccione Cluster > Name of the desired cluster > Services > Kafka > Configurations.
  2. Compruebe si el valor del parámetro disk.adapter.enable está establecido en true.

    • En caso afirmativo, vaya a 10.
    • Si no, vaya a 9.

  3. Establezca el valor de disk.adapter.enable en true. Compruebe si el valor de adapter.topic.min.retention.hours está configurado correctamente.

    • En caso afirmativo, vaya a 10.
    • En caso negativo, ajuste el período de retención de datos en función de los requisitos de servicio.

    Si la función de adaptación automática del disco está habilitada, se eliminan algunos datos históricos de temas especificados. Si no se puede ajustar el período de retención de algunos temas, haga clic en All Configurations y agregue los temas al valor del parámetro disk.adapter.topic.blacklist.

  4. Espere 10 minutos y compruebe si el uso de discos defectuosos se reduce.

    • En caso afirmativo, espere hasta que se borre la alarma.
    • Si no, vaya a 11.

Comprobar el plan de datos de Kafka.

  1. En el área Instance, haga clic en Broker. En el área Real Time de Broker, haga clic en el menú desplegable en el área Chart y elija Customize para personalizar los elementos de monitoreo.
  2. En el cuadro de diálogo, seleccione Disk > Broker Disk Usage y haga clic en OK.

    Se muestra la información de uso del disco Kafka.

    Figura 1 Uso del disco del broker

  3. Vea la información en 12 para comprobar si existe solo la partición de disco para la que se genera la alarma en 2.

    • En caso afirmativo, vaya a 14.
    • Si no, vaya a 15.

  4. Realice la planificación del disco y monte un nuevo disco. Vaya a la página Instance Configurations del nodo para el que se genera la alarma, modifique log.dirs y agregue otros directorios de disco y reinicie la instancia de Kafka.
  5. Determine si se debe acortar el tiempo de retención de datos configurado en Kafka según los requisitos de servicio y el tráfico de servicio.

    • En caso afirmativo, vaya a 16.
    • Si no, vaya a 17.

  6. Inicie sesión en el Administrador de FusionInsight, seleccione Cluster > Name of the desired cluster > Services > Kafka > Configurations, y haga clic en All Configurations. En el cuadro de búsqueda de la derecha, escriba log.retention.hours. El valor del parámetro indica el tiempo de retención de datos predeterminado del tema. Puede cambiar el valor a uno más pequeño.

    • Para un tema cuyo tiempo de retención de datos se configura solo, la modificación del tiempo de retención de datos en la página Kafka Service Configuration no tiene efecto.
    • Para modificar el tiempo de retención de datos de un tema, utilice la interfaz de línea de comandos (CLI) del cliente Kafka para configurar el tema.

      Ejemplo: kafka-topics.sh --zookeeper "ZooKeeper IP address:2181/kafka" --alter --topic "Topic bane" --config retention.ms= "retention time"

  7. Compruebe si el uso de algunos discos alcanza el límite superior debido a una configuración poco razonable de las particiones de algunos temas. Por ejemplo, el número de particiones configuradas para un tema con un volumen de datos grande es menor que el número de discos. En este caso, los datos no se asignan uniformemente a los discos.

    Si no sabe qué temas tienen una gran cantidad de datos de servicio, realice los siguientes pasos:

    1. Inicie sesión en un nodo de instancia en función de la información de nodo host obtenida en 2.
    2. Vaya al directorio de datos (directorio especificado por log.dirs antes de la modificación en 14).
    3. Ejecute el siguiente comando para comprobar si hay un tema con una partición que use un gran espacio en disco.

      du -h --max-depth=1 ./

    • En caso afirmativo, vaya a 18.
    • Si no, vaya a 19.

  8. En la CLI del cliente Kafka, ejecute el siguiente comando para realizar la expansión de la capacidad de la partición para el tema:

    kafka-topics.sh --zookeeper "ZooKeeper IP address:2181/kafka" --alter --topic "Topic name" --partitions="New number of partitions"

    • Se recomienda establecer el nuevo número de particiones en un múltiplo del número de discos de datos de Kafka.
    • El paso puede no borrar rápidamente la alarma, y es necesario modificar el tiempo de retención de datos en 11 para equilibrar gradualmente la asignación de datos.

  9. Determine si se debe realizar la ampliación de la capacidad.

    Se recomienda realizar la ampliación de la capacidad de Kafka cuando el uso actual del disco supera el 80%.

    • En caso afirmativo, vaya a 20.
    • Si no, vaya a 21.

  10. Amplíe la capacidad del disco y compruebe si la alarma se borra después de la ampliación de la capacidad.

    • De ser así, no se requiere ninguna acción adicional.
    • Si no, vaya a 22.

  11. Verifique si la alarma se ha borrado.

    • De ser así, no se requiere ninguna acción adicional.
    • Si no, vaya a 22.

Recopilar información de fallas.

  1. En el portal de FusionInsight Manager, seleccione O&M > Log > Download.
  2. Seleccione Kafka en el clúster requerido en la lista desplegable Service.
  3. Haga clic en en la esquina superior derecha y establezca Start Date y End Date para la recopilación de registros en 10 minutos antes y después del tiempo de generación de alarmas, respectivamente. A continuación, haga clic en Download.
  4. Póngase en contacto con el y envíe los registros recopilados.

Eliminación de alarmas

Después de rectificar la falla, el sistema borra automáticamente esta alarma.

Información relacionada

  1. Inicie sesión en el Administrador de FusionInsight, elija Cluster > Name of the desired cluster > Services > Kafka > Instance, detenga la instancia del Broker cuyo estado es Restoring, registrar la dirección IP de gestión del nodo donde se encuentra la instancia del Broker y registrar broker.id. El valor se puede obtener mediante el siguiente método: Haga clic en el nombre del rol. En la página Configurations, seleccione All Configurations y busque el parámetro broker.id.
  2. Inicie sesión en la dirección IP de gestión grabada como usuario root y ejecute el comando df -lh para ver el directorio montado cuyo uso del disco es 100%, por ejemplo, ${BIGDATA_DATA_HOME}/kafka/data1.
  3. Vaya al directorio, ejecute el comando du -sh * para ver el tamaño de cada archivo en el directorio, compruebe si existen archivos distintos de kafka-logs y determine si estos archivos se pueden eliminar o migrar.

    • En caso afirmativo, vaya a 8.
    • Si no, vaya a 4.

  4. Vaya al directorio kafka-logs, ejecute el comando du -sh * y seleccione la carpeta de partición que desea mover. La regla de nombre es Topic name-Partition ID. Registre el tema y la partición.
  5. Modifique los archivos recovery-point-offset-checkpoint y replication-offset-checkpoint del directorio kafka-logs de la misma manera.

    1. Disminuya el número en la segunda línea del archivo. (Para quitar varios directorios, el número deducido es igual al número de archivos que se van a quitar.)
    2. Elimine la línea de la partición que se va a eliminar. (La estructura de línea es "Topic name Partition ID Offset". Guarde los datos antes de eliminarlos. Posteriormente, el contenido debe agregarse al archivo del mismo nombre en el directorio de destino.)

  6. Modifique los archivos recovery-point-offset-checkpoint y replication-offset-checkpoint en el directorio de datos de destino. Por ejemplo, ${BIGDATA_DATA_HOME}/kafka/data2/kafka-logs de la misma manera.

    • Aumente el número en la segunda línea del archivo. (Para mover varios directorios, el número agregado es igual al número de archivos que se van a mover.)
    • Agregue la partición que desea mover al final del archivo. (La estructura de línea es "Topic name Partition ID Offset". Puede copiar los datos de línea guardados en 5.)

  7. Mueva la partición al directorio de destino. Después de mover la partición, ejecute el comando chown omm:wheel -R Partition directory para modificar el grupo de propietarios de directorios para la partición.
  8. Inicie sesión en FusionInsight Manager y elija Cluster > Name of the desired cluster > Services > Kafka > Instance para iniciar la instancia del Broker.
  9. Espere de 5 a 10 minutos y compruebe si el estado de salud de la instancia de Broker es de Normal.

    • En caso afirmativo, resuelva el problema de insuficiencia de capacidad de disco de acuerdo con el método de manejo de "ALM-38001 Espacio en disco de Kafka insuficiente" después de que se elimine la alarma.
    • Si no, póngase en contacto con el .