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
Cadangkan file JAR sebelum menggantinya.
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/.
Mulai ulang layanan HMaster.
Pada tab Status halaman layanan HBase di konsol EMR, temukan layanan HMaster dan klik Restart di kolom Actions.