We had seen similar exception earlier reported by others on the list. What you might want to try is to use a hex editor or equivalent to open up 'edits' and get rid of the last record. In all cases, the last record might not be complete so your namenode is not starting. Once you update your edits, start the namenode and run 'hadoop fsck /' to see if you have any corrupt files and fix/get rid of them. PS : Take a back up of dfs.name.dir before updating and playing around with it.
Thanks, Lohit ----- Original Message ---- From: steph <[EMAIL PROTECTED]> To: [email protected] Sent: Monday, August 4, 2008 8:31:07 AM Subject: Re: EOFException while starting name node 2008-08-03 21:58:33,108 INFO org.apache.hadoop.ipc.Server: Stopping server on 9000 2008-08-03 21:58:33,109 ERROR org.apache.hadoop.dfs.NameNode: java.io.EOFException at java.io.DataInputStream.readFully(DataInputStream.java:178) at org.apache.hadoop.io.UTF8.readFields(UTF8.java:106) at org.apache.hadoop.io.ArrayWritable.readFields(ArrayWritable.java:90) at org.apache.hadoop.dfs.FSEditLog.loadFSEdits(FSEditLog.java:433) at org.apache.hadoop.dfs.FSImage.loadFSEdits(FSImage.java:759) at org.apache.hadoop.dfs.FSImage.loadFSImage(FSImage.java:639) at org.apache.hadoop.dfs.FSImage.recoverTransitionRead(FSImage.java: 222) at org.apache.hadoop.dfs.FSDirectory.loadFSImage(FSDirectory.java:79) at org.apache.hadoop.dfs.FSNamesystem.initialize(FSNamesystem.java:254) at org.apache.hadoop.dfs.FSNamesystem.<init>(FSNamesystem.java:235) at org.apache.hadoop.dfs.NameNode.initialize(NameNode.java:131) at org.apache.hadoop.dfs.NameNode.<init>(NameNode.java:176) at org.apache.hadoop.dfs.NameNode.<init>(NameNode.java:162) at org.apache.hadoop.dfs.NameNode.createNameNode(NameNode.java:846) at org.apache.hadoop.dfs.NameNode.main(NameNode.java:855) Actually my exception is slightly different than yours. Maybe moving edits file and recreating a new one will work for you. On Aug 4, 2008, at 2:53 AM, Wanjari, Amol wrote: > I'm getting the following exceptions while starting the name node - > > ERROR dfs.NameNode: java.io.EOFException > at java.io.DataInputStream.readInt(DataInputStream.java:375) > at > org.apache.hadoop.io.ArrayWritable.readFields(ArrayWritable.java:87) > at > org.apache.hadoop.dfs.FSEditLog.loadFSEdits(FSEditLog.java:455) > at org.apache.hadoop.dfs.FSImage.loadFSEdits(FSImage.java:733) > at org.apache.hadoop.dfs.FSImage.loadFSImage(FSImage.java:620) > at > org.apache.hadoop.dfs.FSImage.recoverTransitionRead(FSImage.java:222) > at > org.apache.hadoop.dfs.FSDirectory.loadFSImage(FSDirectory.java:76) > at > org.apache.hadoop.dfs.FSNamesystem.<init>(FSNamesystem.java:221) > at org.apache.hadoop.dfs.NameNode.init(NameNode.java:130) > at org.apache.hadoop.dfs.NameNode.<init>(NameNode.java:168) > at > org.apache.hadoop.dfs.NameNode.createNameNode(NameNode.java:795) > at org.apache.hadoop.dfs.NameNode.main(NameNode.java:804) > > Is there a way to recover the name node without losing any data. > > Thanks, > Amol
