经过上一周的郁闷期(拖延症引发的郁闷),今天终于开始步入正轨了。今天主要是解决hadoop配置的错误以及网络时断时续的问题。
首先说明一下之前按照这篇文章的方法配置完全没有问题,但是等我配置好了发现hadoop的版本和我的需求有点不一样,于是重新安装低版本的hadoop,结果就遇到问题了。
怎么解决的呢。不需要hadoop namenode -format;把 dfs/data 删除即可,restart就可以了 。你可以先用hadoop namenode -format命令:
[root@localhost hadoop]# bin/hadoop namenode -format
11/12/30 18:19:21 INFO namenode.NameNode: STARTUP_MSG:
/************************************************************
STARTUP_MSG: Starting NameNode
STARTUP_MSG: host = localhost.localdomain/127.0.0.1
STARTUP_MSG: args = [-format]
STARTUP_MSG: version = 0.20.203.0
STARTUP_MSG: build = [url]http://svn.apache.org/repos/asf/hadoop/common/branches/branch-0.20-security-203[/url] -r 1099333; compiled by 'oom' on Wed May 4 07:57:50 PDT 2011
************************************************************/
Re-format filesystem in /tmp/hadoop-root/dfs/name ? (Y or N)
此时你就找到dfs文件夹了,然后删除里面的data子文件夹jiiuhaole。
参考: http://bbs.hadoopor.com/archiver/tid-3954.html
Hadoop在执行stop-all.sh或stop-dfs.sh的时候,经常会遇到’no namenode to stop’这个错误,结果就是你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内增加配置:
export HADOOPPIDDIR=/home/hadoop/pids
这样就OK了。
网上很多帖子说执行hadoop namenode -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>所指向的目录,删除后切记要重新建立配置的空目录,然后运行hadoop namenode -format
3、运行start-all.sh
Bad connection to FS. command aborted. exception: Call to localhost/127.0.0.1:88
88 failed on connection exception: java.net.ConnectException: Connection refused
: no further information
错误提示“Bad connection to FS. command aborted. exception: Call tolocalhost/127.0.0.1:88
88failed on connection exception: java.net.ConnectException: Connection refused
:no further information”
起初怀疑是fs服务没有启动,但反复关闭启动多次后仍没用,请教高手后,被建议重新格式化namenode,就可以了。
格式化指令如下(在hadoop的bin目录下):
Shell代码
1. $ ./hadoop namenode -format
成功之后重启hadoop就可以了
2如果错误还存在,那么手动删除文件
把/tmp目录下面跟hadoop有关的文件全部删除,把home/hadoop/pids
也删掉,反正多多删掉就好了。
参考:http://blog.csdn.net/yangkai_hudong/article/details/18731395
最近用实验室的网络,总是时断时续,一会儿网页瞬间打开,更多的时候压根打不开网页。
试了很多方法,神码arp病毒啊,神码网络连接啊,。神码神码的。。
结果将自己的有限网络IP设为固定的就好了,不要用动态分配的IP (DHCP 协议)。