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

Reply via email to