Hi,all

I'm testing hadoop with two secondary namenode ( I'm using hadoop-0.20.2) , and 
get some errors. So I did a few search. But first I got confused about SNN: 


From 
http://hadoop.apache.org/hdfs/docs/current/hdfs_user_guide.html#Secondary+NameNode
says:
'The secondary NameNode merges the fsimage and the edits log files periodically 
     and keeps edits log size within a limit.'
But from 
http://wiki.apache.org/hadoop/FAQ#What_is_the_purpose_of_the_secondary_name-node.3F
says:
'The only purpose of the secondary name-node is to perform periodic  
checkpoints. The secondary name-node periodically downloads current  name-node 
image and edits log files, joins them into new image and  uploads the new image 
back to the (primary and the only) name-node'


So whether or not will SNN upload the image back to NameNode?
If so, what's the difference between SNN and checkpoint node?




Back to the two secondary namenode question
I had namenode and two SNN on three separate machines. Each one SNN with NN 
work fine. But if I start two SNN with NN, it failed:
The NN says:
WARN org.mortbay.log: /getimage: java.io.IOException: GetImage failed. 
java.io.IOException: Namenode is not expecting an new image UPLOAD_START

....
WARN org.mortbay.log: /getimage: java.io.IOException: GetImage failed. 
java.io.IOException: Namenode is not expecting an new image START




The SNN says:
ERROR org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode: Exception in 
doCheckpoint: 
ERROR org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode: 
java.io.FileNotFoundException: 
http://192.168.1.22:50070/getimage?putimage=1&port=50090&machine=192.168.1.23&token=-18:785478552:0:1306378278000:1306378218810
        at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown 
Source)
        at 
org.apache.hadoop.hdfs.server.namenode.TransferFsImage.getFileClient(TransferFsImage.java:151)
        at 
org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode.putFSImage(SecondaryNameNode.java:280)
        at 
org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode.doCheckpoint(SecondaryNameNode.java:320)
        at 
org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode.run(SecondaryNameNode.java:225)
        at java.lang.Thread.run(Unknown Source)



What's wrong? Multiple SNN not supported in hadoop-0.20.2?


Thanks.

Reply via email to