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.
Centro de ayuda> MapReduce Service> Guía del usuario> Referencia de alarma (aplicable a MRS 3.x)> ALM-14013 Error al actualizar el archivo NameNode FsImage
Actualización más reciente 2023-11-20 GMT+08:00

ALM-14013 Error al actualizar el archivo NameNode FsImage

Descripción

Los metadatos HDFS se almacenan en el archivo FsImage del directorio de datos NameNode especificado por el elemento de configuración dfs.NameNode.name.dir. El NameNode en espera combina periódicamente archivos FsImage existentes y archivos Editlog almacenados en el JournalNode para generar un nuevo archivo FsImage y, a continuación, envía el nuevo archivo FsImage al directorio de datos del NameNode activo. Este período se especifica mediante el elemento de configuración dfs.namenode.checkpoint.period de HDFS. El valor predeterminado es 3600s, es decir, una hora. Si el archivo FsImage en el directorio de datos del NameNode activo no se actualiza, la función de combinación de metadatos HDFS es anormal y requiere rectificación.

En el NameNode activo, el sistema comprueba la información del archivo FsImage cada cinco minutos. Esta alarma se genera cuando no se genera ningún archivo FsImage dentro de tres períodos de combinación.

Esta alarma se borra cuando se genera un nuevo archivo FsImage y se envía al NameNode activo, lo que indica que la función de combinación de metadatos HDFS se puede usar correctamente.

Atributo

ID de alarma

Gravedad de la alarma

Borrado automáticamente

14013

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.

NameServiceName

Especifica el NameService para el que se genera la alarma.

Impacto en el sistema

Si el archivo FsImage en el directorio de datos del NameNode activo no se actualiza, la función de combinación de metadatos HDFS es anormal y requiere rectificación. Si no se rectifica, los archivos de Editlog aumentan continuamente después de que HDFS se ejecute durante un período. En este caso, el reinicio HDFS consume mucho tiempo porque es necesario cargar un gran número de archivos Editlog. Además, esta alarma también indica que el NameNode en espera es anormal y que el mecanismo de alta disponibilidad de NameNode (HA) no es válido. Cuando el NameNode activo es defectuoso, el servicio HDFS no está disponible.

Causas posibles

  • El NameNode en espera se detiene.
  • La instancia de NameNode en espera funciona incorrectamente.
  • El NameNode en espera no genera un archivo FsImage nuevo.
  • El espacio del directorio de datos en el NameNode en espera es insuficiente.
  • El NameNode en espera no puede empujar el archivo FsImage al NameNode activo.
  • El espacio del directorio de datos en el NameNode activo es insuficiente.

Procedimiento

Comprobar si el NameNode en espera está detenido.

  1. En el portal de FusionInsight Manager, seleccione O&M > Alarm > Alarms. En la lista de alarmas, haga clic en la alarma.
  2. Vea Location y obtenga el nombre de host del NameNode activo para el que se genera la alarma y el nombre del NameService donde reside el NameNode activo.
  3. Elija Cluster > Name of the desired cluster > Services > HDFS > Instance, busque la instancia NameNode en espera del NameService en la lista de instancias y compruebe si su Configuration Status es Synchronized.

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

  4. Seleccione la instancia de NameNode en espera, elija Start Instance y espere hasta que finalice el inicio.
  5. Espere un período de combinación de metadatos de NameNode y compruebe si la alarma está borrada.

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

Comprobar si la instancia de NameNode funciona correctamente.

  1. Compruebe si el Running Status de la instancia de NameNode en espera es el Normal.

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

  2. Seleccione la instancia de NameNode en espera, elija More > Restart Instance y espere hasta que finalice el inicio.
  3. Espere un período de combinación de metadatos de NameNode y compruebe si la alarma está borrada.

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

Comprobar si el NameNode en espera no puede generar un nuevo archivo FsImage.

  1. En el portal del FusionInsight Manager, elija Cluster > Name of the desired cluster > Services > HDFS > Configurations > All Configurations, y busque y obtenga el valor de dfs.namenode.checkpoint.period. Este valor es el período de combinación de metadatos de NameNode.
  2. Elija Cluster > Name of the desired cluster > Services > HDFS > Instance y obtenga las direcciones IP de servicio del NameNodes activo y en espera del NameService para el que se genera la alarma.
  3. Haga clic en NameNode(xx,Standy) y Instance Configurations para obtener el valor de dfs.namenode.name.dir. Este valor es el directorio de almacenamiento de FsImage del NameNode en espera.

  4. Inicie sesión en el NameNode en espera como usuario root o omm.
  5. Vaya al directorio de almacenamiento de FsImage y compruebe el tiempo de generación del archivo FsImage más reciente.

    cd Storage directory of the standby NameNode/current

    stat -c %y $(ls -t | grep "fsimage_[0-9]*$" | head -1)

  6. Ejecute el comando date para obtener la hora actual del sistema.
  7. Calcule la diferencia de tiempo entre el tiempo de generación del archivo FsImage más reciente y la hora actual del sistema y compruebe si la diferencia de tiempo es mayor que tres veces del período de combinación de metadatos.

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

  8. La función de combinación de metadatos del NameNode en espera es defectuosa. Ejecute el siguiente comando para comprobar si el fallo es causado por espacio de almacenamiento insuficiente.

    Vaya al directorio de almacenamiento de FsImage y compruebe el tamaño del archivo FsImage más reciente (en MB).

    cd Storage directory of the standby NameNode/current

    du -m $(ls -t | grep "fsimage_[0-9]*$" | head -1) | awk '{print $1}'

  9. Ejecute el siguiente comando para comprobar el espacio disponible en disco del NameNode en espera (en MB).

    df -m ./ | awk 'END{print $4}'

  10. Compare el tamaño del archivo FsImage y el espacio disponible en disco y determine si se puede almacenar otro archivo FsImage en el disco.

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

  11. Borre los archivos redundantes del disco donde reside el directorio para reservar espacio suficiente para los metadatos. Después de la liquidación, espere un período de combinación de metadatos de NameNode y compruebe si la alarma está borrada.

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

Comprobar si el NameNode en espera no puede enviar el archivo FsImage al NameNode activo.

  1. Inicie sesión en el NameNode en espera como usuario root.
  2. Ejecute el comando su - omm para cambiar a usuario omm.
  3. Ejecute el siguiente comando para comprobar si el NameNode en espera puede enviar el archivo al NameNode activo.

    tmpFile=/tmp/tmp_test_$(date +%s)

    echo "test" > $tmpFile

    scp $tmpFile Service IP address of the active NameNode:/tmp

    • En caso afirmativo, vaya a 24.
    • Si no, vaya a 23.

  4. Cuando el NameNode en espera no puede enviar datos al NameNode activo como usuario omm, póngase en contacto con el administrador del sistema para manejar el error. Espere un período de combinación de metadatos de NameNode y compruebe si la alarma está borrada.

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

Comprobar si el espacio en el directorio de datos del NameNode activo es insuficiente.

  1. En el portal de FusionInsight Manager, elija Cluster > Name of the desired cluster > Services > HDFS > Instance, haga clic en el NameNode activo del NameService para el que se genera la alarma y, a continuación, haga clic en Instance Configurations para obtener el valor de dfs.namenode.name.dir. Este valor es el directorio de almacenamiento de FsImage del NameNode activo.

  2. Inicie sesión en el NameNode activo como usuario root o omm.
  3. Vaya al directorio de almacenamiento de FsImage y compruebe el tamaño del archivo FsImage más reciente (en MB).

    cd Storage directory of the active NameNode/current

    du -m $(ls -t | grep "fsimage_[0-9]*$" | head -1) | awk '{print $1}'

  4. Ejecute el siguiente comando para comprobar el espacio disponible en disco del NameNode activo (en MB).

    df -m ./ | awk 'END{print $4}'

  5. Compare el tamaño del archivo FsImage y el espacio disponible en disco y determine si se puede almacenar otro archivo FsImage en el disco.

    • En caso afirmativo, vaya a 30.
    • Si no, vaya a 29.

  6. Borre los archivos redundantes del disco donde reside el directorio para reservar espacio suficiente para los metadatos. Después de la liquidación, espere un período de combinación de metadatos de NameNode y compruebe si la alarma está borrada.

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

Recopilar información de fallas.

  1. En el portal del FusionInsight Manager, elija O&M > Log > Download.
  2. Seleccione NameNode en el clúster requerido en el Service.
  3. Haga clic en en la esquina superior derecha y establezca Start Date y End Date para la recopilación de registros en 30 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

Ninguna