hadoop cluster中只显示一个datanode

260 views
Skip to first unread message

李玉林

unread,
Aug 7, 2011, 9:46:16 PM8/7/11
to hadoopors
在配置了集群后,启动hadoop,没有任何异常,但是在web端查看的时候,发现只显示一个datanode,而启动记录显示两个datanode都起来了。
命令行启动信息:
[hadoop@linux-liyulin logs]$ start-all.sh
starting namenode, logging to /home/hadoop/hadoop-0.20.203.0/bin/../logs/hadoop-hadoop-namenode-linux-liyulin.out
slave: starting datanode, logging to /home/hadoop/hadoop-0.20.203.0/bin/../logs/hadoop-hadoop-datanode-localhost.localdomain.out
master: starting datanode, logging to /home/hadoop/hadoop-0.20.203.0/bin/../logs/hadoop-hadoop-datanode-linux-liyulin.out
master: starting secondarynamenode, logging to /home/hadoop/hadoop-0.20.203.0/bin/../logs/hadoop-hadoop-secondarynamenode-linux-liyulin.out
starting jobtracker, logging to /home/hadoop/hadoop-0.20.203.0/bin/../logs/hadoop-hadoop-jobtracker-linux-liyulin.out
slave: starting tasktracker, logging to /home/hadoop/hadoop-0.20.203.0/bin/../logs/hadoop-hadoop-tasktracker-localhost.localdomain.out
master: starting tasktracker, logging to /home/hadoop/hadoop-0.20.203.0/bin/../logs/hadoop-hadoop-tasktracker-linux-liyulin.out

web端的信息:

Cluster Summary

6 files and directories, 1 blocks = 7 total. Heap Size is 31.32 MB / 966.69 MB (3%) 
Configured Capacity : 7.28 GB
DFS Used : 36 KB
Non DFS Used : 4.13 GB
DFS Remaining : 3.15 GB
DFS Used% : 0 %
DFS Remaining% : 43.29 %
Live Nodes : 1
Dead Nodes : 0
Decommissioning Nodes : 0
Number of Under-Replicated Blocks :

master Hadoop Map/Reduce Administration


State:
 RUNNING
Started: Mon Aug 08 09:11:31 CST 2011
Version: 0.20.203.0, r1099333
Compiled: Wed May 4 07:57:50 PDT 2011 by oom
Identifier: 201108080911

Cluster Summary (Heap Size is 15.25 MB/966.69 MB)

Running Map Tasks Running Reduce TasksTotal SubmissionsNodes Occupied Map SlotsOccupied Reduce SlotsReserved Map Slots Reserved Reduce SlotsMap Task Capacity Reduce Task CapacityAvg. Tasks/NodeBlacklisted Nodes Graylisted NodesExcluded Nodes
0 0010000224.000 00


jps查看master端显示的信息:
[hadoop@linux-liyulin logs]$ jps
3850 JobTracker
3677 DataNode
3970 TaskTracker
3773 SecondaryNameNode
4262 Jps
3577 NameNode
jps查看slave端显示的信息:
[hadoop@localhost ~]$ jps
2268 TaskTracker
2327 Jps
2193 DataNode



--
李玉林


air

unread,
Aug 7, 2011, 9:57:14 PM8/7/11
to hado...@googlegroups.com
看一下防火墙设置
--
Knowledge Mangement .

王锋

unread,
Aug 7, 2011, 11:00:25 PM8/7/11
to hado...@googlegroups.com
namenode 日志和那个datanode日志是否有报错?

李玉林

unread,
Aug 7, 2011, 11:21:25 PM8/7/11
to hado...@googlegroups.com
正在查看日志,确实有报错,防火墙也都关掉了,datanode日志报错信息:2011-08-08 09:10:59,953 INFO org.apache.hadoop.ipc.Client: Retrying connect to server: master/192.168.32.69:9000. Already tried 0 time(s)。
此外,还想请教一个问题,hadoop哪个地方用到了机器名和localhost,因为我在修改hosts去掉localhost之后,提示了2011-08-08 11:08:32,493 ERROR org.apache.hadoop.metrics2.impl.MetricsSystemImpl: Error getting localhost name. Using 'localhost'...java.net.UnknownHostException: linux-liyulin: linux-liyulin。
而且,shutdown的提示信息:SHUTDOWN_MSG: Shutting down DataNode at linux-liyulin/127.0.0.1为什么关掉的是localhost,在conf/slaves中的配置是master和slave,ip分别是192.168.32.69和192.168.32.61。
--
李玉林


air

unread,
Aug 7, 2011, 11:24:57 PM8/7/11
to hado...@googlegroups.com
hosts文件统一了吗?
机器名和ip的映射要有
--
Knowledge Mangement .

王锋

unread,
Aug 7, 2011, 11:25:26 PM8/7/11
to hado...@googlegroups.com
以前看源码看到过 里面默认的是用localhost,你在配置文件里使用host试试吧

李玉林

unread,
Aug 7, 2011, 11:32:31 PM8/7/11
to hado...@googlegroups.com

hosts中已经配置了master和slave的对应ip,至于上面localhost的报错,是因为我把localhost删掉了,没有删掉之前,只显示datanode的原因是因为datanode log中显示69即master连不上,可能连上的那个datanode是slave的,原因不清楚,顺便问一下jps是只显示本机的hadoop的信息,是吧?还有王锋说的配置文件中使用host的地方具体是在哪里?我下午再试试其它的办法,谢谢各位。
--
李玉林


air

unread,
Aug 7, 2011, 11:38:09 PM8/7/11
to hado...@googlegroups.com
你在 conf/masters conf/slaves 两个文件中都使用机器名,不要用localhost
--
Knowledge Mangement .

王锋

unread,
Aug 7, 2011, 11:40:26 PM8/7/11
to hado...@googlegroups.com
一般情况下 配置文件设置master 和slave的host 每个机器的hostname要和设置的host名称一致。jps是显示本机的。 本地ping下 是否能连上

戴清灏

unread,
Aug 8, 2011, 12:04:14 AM8/8/11
to hado...@googlegroups.com
和我之前遇到的问题一样。
我的hosts文件的localhost 127.0.0.1这一行没删
我把master上本机名和127.0.0.1这一行删了才行。
比如我的master是roger-laptop
要把127.0.0.1   roger-laptop这一行删了才行
我的猜想是slave不会向DNS询问IP(除非在配置文件里写明了nameserver,我读了这一段源代码,在net文件夹里)
slave会拿着机器名向master询问IP,当然问我的roger-laptop问到的就是127.0.0.1了(在没删除那一行的情况下)

在 2011年8月8日 上午9:46,李玉林 <yulin...@gmail.com>写道:

李玉林

unread,
Aug 8, 2011, 4:34:37 AM8/8/11
to hado...@googlegroups.com
在格式化datanode之后解决了,查看namenode和datanode的log发现,namenode启动本身就有问题,所以导致了datanode的显示也不正常,因为namenode是负责datanode的,现在显示正常了。
此外,为什么hadoop经常会处于safemode状态呢?我格式化了datanode,然后启停了没有几次,就提示处于safemode状态了,而且namenode启动过程中会做各种校验,查看namenode的log可以看到启动的时候会删除tmp下的一些文件之类的,所以一直处于safemode还是有点问题。
以上供以后遇到问题的人参考吧,感觉还是多折腾折腾好,光看理论最后还是用不上,看log,分析错误多了,自然能和以前看到的理论连上点了。
再次谢谢各位^_^
--
李玉林


Reply all
Reply to author
Forward
0 new messages