Todos os produtos
Search
Central de documentação

E-MapReduce:Falha no service HMaster com "Cannot seek after EOF"

Última atualização: Jul 20, 2026

Resolva falhas de inicialização do HMaster do HBase causadas pelo erro "Cannot seek after EOF" no HBase 2.3.4.

Sintomas

O HMaster do HBase 2.3.4 não reinicia e apresenta o seguinte erro nos logs:

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

O service HMaster falha ao iniciar porque encontra um arquivo de write-ahead log (WAL) vazio (0 bytes) durante a recuperação. Esse problema é raro.

Issue relacionada na comunidade: WAL replay should ignore 0-length files.

Versões afetadas

Esse problema afeta o HBase 2.3.4 em clusters EMR nas seguintes versões:

  • Anteriores à EMR-5.6.0

  • Da EMR-4.8.0 à EMR-4.10.0 (inclusive)

Resolução

Nota

Faça backup do arquivo JAR antes de substituí-lo.

  1. Baixe o arquivo hbase-server-2.3.4.jar e substitua o arquivo JAR correspondente no nó mestre do cluster HBase.

    O arquivo JAR está no diretório /usr/lib/hbase-current/lib/.

  2. Reinicie o service HMaster.

    No console do EMR, acesse a página Status do service HBase. Na linha do componente HMaster, clique em Restart na coluna Actions.