hadoop搭建注意事项汇总

以前都是在单机模式下搭建hadoop进行运作,今天试着在两台机器上搭建,就出现了一堆问题。现在汇总注意事项

1.Hadoop要求所有机器上hadoop的部署目录结构要相同,并且都有一个相同的用户名的帐户

我第一台机器上使用都用户名是hadoop,第二台使用都就是xuwei了,这样导致了很多问题。如果早知道必须使用相同都用户名,当时就不这么麻烦了。

2.格式化HDSF

在启动hadoop服务

./start-all.sh
之前,我们必须进行HDSF,使用如下命令

./hadoop namenode -format
如果不进行HDSF格式化的话,可能会出现没有namenode或者datanode的错误。

3.缺少datanode

在master上启动hadoop服务,但是master节点上所有进程都正常启动,但是slave节点上有tasktracker,却没有了datanode。查看slave上的日志(保存在hadoop/logs/hadoop-hadoop-datanode-xuwei-laptop.log这个文件里面),从logs中我们发现了如下错误信息:

2011-10-10 10:02:28,447 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: STARTUP_MSG: 
/************************************************************
STARTUP_MSG: Starting DataNode
STARTUP_MSG:   host = xuwei-laptop/127.0.1.1
STARTUP_MSG:   args = []
STARTUP_MSG:   version = 0.20.1
STARTUP_MSG:   build = http://svn.apache.org/repos/asf/hadoop/common/tags/release-0.20.1-rc1 -r 810220; compiled by 'oom' on Tue Sep  1 20:55:56 UTC 2009
************************************************************/
2011-10-10 10:02:34,144 ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: java.io.IOException: Incompatible namespaceIDs in /home/hadoop/program/tmp-hadoop/dfs/data: namenode namespaceID = 1911773165; datanode namespaceID = 1366308813
	at org.apache.hadoop.hdfs.server.datanode.DataStorage.doTransition(DataStorage.java:233)
	at org.apache.hadoop.hdfs.server.datanode.DataStorage.recoverTransitionRead(DataStorage.java:148)
	at org.apache.hadoop.hdfs.server.datanode.DataNode.startDataNode(DataNode.java:298)
	at org.apache.hadoop.hdfs.server.datanode.DataNode.<init>(DataNode.java:216)
	at org.apache.hadoop.hdfs.server.datanode.DataNode.makeInstance(DataNode.java:1283)
	at org.apache.hadoop.hdfs.server.datanode.DataNode.instantiateDataNode(DataNode.java:1238)
	at org.apache.hadoop.hdfs.server.datanode.DataNode.createDataNode(DataNode.java:1246)
	at org.apache.hadoop.hdfs.server.datanode.DataNode.main(DataNode.java:1368)

2011-10-10 10:02:34,145 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: SHUTDOWN_MSG: 
/************************************************************
SHUTDOWN_MSG: Shutting down DataNode at xuwei-laptop/127.0.1.1
************************************************************/
从中我们可以发现是因为临时文件目录中的内容出错。后来一想确实是我那slave机器跑过单机模式的hadoop,tmp-hadoop就是在那个时候进行格式化产生的。因此我们在这里删除tmp-hadoop,在master上重启hadoop服务。一切正常。


你可能感兴趣的:(hadoop,Build)