Todos los productos
Search
Centro de documentos

E-MapReduce:El servicio HMaster falla con el error "Cannot seek after EOF"

Última actualización: Sep 04, 2026

Resuelva los errores de inicio de HBase HMaster provocados por el error "Cannot seek after EOF" en HBase 2.3.4.

Síntomas

HMaster para HBase 2.3.4 no se reinicia y muestra el siguiente error en los registros:

java.io.EOFException: Cannot seek after EOF
    at org.apache.hadoop.hdfs.DFSInputStream.seek(DFSInputStream.java:1447)
    at org.apache.hadoop.fs.FSDataInputStream.seek(FSDataInputStream.java:65)
    at org.apache.hadoop.hbase.regionserver.wal.ProtobufLogReader.initInternal(ProtobufLogReader.java:211)
    at org.apache.hadoop.hbase.regionserver.wal.ProtobufLogReader.initReader(ProtobufLogReader.java:173)

Causa

El servicio HMaster no inicia porque encuentra un archivo de registro de escritura anticipada (WAL) vacío (0 bytes) durante su proceso de recuperación. Este problema es poco frecuente.

Problema relacionado en la comunidad: WAL replay should ignore 0-length files.

Versiones afectadas

Este problema afecta a la versión 2.3.4 de HBase en clústeres de EMR que ejecutan las siguientes versiones de EMR:

  • Versiones de EMR anteriores a EMR-5.6.0

  • De EMR-4.8.0 a EMR-4.10.0 (inclusive)

Solución

Nota

Realice una copia de seguridad del archivo JAR antes de reemplazarlo.

  1. Descargue hbase-server-2.3.4.jar y reemplace el archivo JAR correspondiente en el nodo maestro del clúster de HBase.

    El archivo JAR se encuentra en el directorio /usr/lib/hbase-current/lib/.

  2. Reinicie el servicio HMaster.

    En la consola de EMR, vaya a la página Status del servicio HBase. En la fila del componente HMaster, haga clic en Restart en la columna Actions.