All Products
Search
Document Center

E-MapReduce:Apa yang harus saya lakukan jika layanan HMaster melaporkan kesalahan "Cannot seek after EOF"?

Last Updated:Jun 24, 2025

Topik ini menjelaskan cara menangani masalah terkait layanan HMaster dari HBase.

Deskripsi

Layanan HMaster dari HBase 2.3.4 gagal memulai ulang. Log kesalahan:

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)

Penyebab

Saat layanan HMaster dimulai, file WAL yang dipulihkan kosong. Masalah ini jarang terjadi dalam sebagian besar kasus.

Detail masalah pada HBase open source: WAL replay should ignore 0-length files.

Ruang lingkup dampak

Versi HBase yang terpengaruh adalah 2.3.4, dan kluster dari versi E-MapReduce (EMR) berikut terkena dampak:

  • Versi minor lebih awal dari EMR V5.6.0

  • EMR V4.8.0 hingga EMR V4.10.0 (keduanya termasuk)

Solusi

null

Cadangkan file JAR sebelum menggantinya.

  1. Unduh file hbase-server-2.3.4.jar dan ganti file JAR pada Node master kluster HBase dengan file yang diunduh.

    File JAR berada di direktori /usr/lib/hbase-current/lib/.

  2. Mulai ulang layanan HMaster.

    Pada tab Status halaman layanan HBase di konsol EMR, temukan layanan HMaster dan klik Restart di kolom Actions.