您的位置:首页 > 运维架构

hadoop配置错误

2014-04-28 20:00 176 查看
经过上一周的郁闷期(拖延症引发的郁闷),今天终于开始步入正轨了。今天主要是解决hadoop配置的错误以及网络时断时续的问题。

首先说明一下之前按照这篇文章的方法配置完全没有问题,但是等我配置好了发现hadoop的版本和我的需求有点不一样,于是重新安装低版本的hadoop,结果就遇到问题了。

一,Hadoop错误

1.dataNode总是启动不了?nodatanodetostop

怎么解决的呢。不需要hadoopnamenode-format;把dfs/data删除即可,restart就可以了。你可以先用hadoopnamenode-format命令:

[root@localhosthadoop]#bin/hadoopnamenode-format
11/12/3018:19:21INFOnamenode.NameNode:STARTUP_MSG:
/************************************************************
STARTUP_MSG:StartingNameNode
STARTUP_MSG:host=localhost.localdomain/127.0.0.1
STARTUP_MSG:args=[-format]
STARTUP_MSG:version=0.20.203.0
STARTUP_MSG:build=http://svn.apache.org/repos/asf/hadoop/common/branches/branch-0.20-security-203-r1099333;compiledby'oom'onWedMay407:57:50PDT2011
************************************************************/
Re-formatfilesystemin/tmp/hadoop-root/dfs/name?(YorN)

此时你就找到dfs文件夹了,然后删除里面的data子文件夹jiiuhaole。

参考:http://bbs.hadoopor.com/archiver/tid-3954.html

2.nameNode总是启动不了?nonamenodetostop


Hadoop在执行stop-all.sh或stop-dfs.sh的时候,经常会遇到’nonamenodetostop’这个错误,结果就是你stop了Hadoop或者DFS,使用jps查看时,namenode的进程还是存在。
如果start-hadoop.sh或start-dfs.sh后直接执行stop-hadoop.sh或者stop-dfs.sh,则不会发生这个现象。

为什么会这样呢?

因为Hadoop用来保存进程id的文件默认是在/tmp目录下,而/tmp会被系统定期清理,这样stop-all.sh或stop-dfs.sh的时候就有可能找不到namenode的进程pid。不能正常关闭namenode。

如何解决呢?

重新定义pid文件的存放位置:在启动hadoop的用户.bashrc内或者hadoop/conf/hadoop-env.sh内增加配置:


exportHADOOPPIDDIR=/home/hadoop/pids


这样就OK了。

网上很多帖子说执行hadoopnamenode-format,然后重启hadoop,这是错误的做法。这样直接格式化DFS,导致丢失数据。


参考:http://blog.ownlinux.net/2012/06/no-namenode-to-stop-error-in-hadoop.html

今天又遇到这个问题了,记录下我是怎么解决的:(参考:http://ghostjay.blog.51cto.com/2815221/515147)

1、先运行stop-all.sh

2、格式化namdenode,不过在这之前要先删除原目录,即core-site.xml下配置的<name>hadoop.tmp.dir</name>所指向的目录,删除后切记要重新建立配置的空目录,然后运行hadoopnamenode-format

3、运行start-all.sh

3.BadconnectiontoFS.commandaborted.

BadconnectiontoFS.commandaborted.exception:Calltolocalhost/127.0.0.1:88

88failedonconnectionexception:java.net.ConnectException:Connectionrefused

:nofurtherinformation

错误提示“BadconnectiontoFS.commandaborted.exception:Calltolocalhost/127.0.0.1:88

88failedonconnectionexception:java.net.ConnectException:Connectionrefused

:nofurtherinformation”

起初怀疑是fs服务没有启动,但反复关闭启动多次后仍没用,请教高手后,被建议重新格式化namenode,就可以了。

格式化指令如下(在hadoop的bin目录下):

Shell代码

1.$./hadoopnamenode-format

成功之后重启hadoop就可以了

2如果错误还存在,那么手动删除文件

把/tmp目录下面跟hadoop有关的文件全部删除,把
home/hadoop/pids
也删掉,反正多多删掉就好了。


参考:http://blog.csdn.net/yangkai_hudong/article/details/18731395

二,网络时断时许错误

最近用实验室的网络,总是时断时续,一会儿网页瞬间打开,更多的时候压根打不开网页。

试了很多方法,神码arp病毒啊,神码网络连接啊,。神码神码的。。

结果将自己的有限网络IP设为固定的就好了,不要用动态分配的IP(DHCP协议)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐
章节导航