最近在用hadoop实现kmeans。运行过程中出现Call to localhost/127.0.0.1:9000 failed on connection exception错误
百度和google了一下,貌似很多人都遇到过这个问题,好像大部分人都是namenode 启动不正常导致的,重新格式化namenode之后能解决,但是,我格式化了无数遍了还是出现这个错误,别的方法也试了,都不管用,实在不知道怎么解决了
检查你的/etc/sysconfig/network 中的HOSTNAME
检查你的/etc/hosts
更换HADOOP配置中所有的Localhost改成你的HOSTNAME
HOST不对
如果HOST配置正确,不会出现CALL TO LOCALHOST/127.0.0.1:9000 这种字样
在所有结点输入hostname检查HOST
把你所有结点的
/etc/sysconfig/network
/etc/hosts
/etc/sysconfig/network-scripts/ifcfg-eth0
这样,你按下面的步骤重新来 电工电子实习报告稳压电源电路设计和万用表安装
1、直接删除/tmp/hadoop目录(不要创建,NAMENODE FORMAT会自动创建)
2、如果你是用HADOOP用户启动,确保HADOOP用户对/tmp目录的权限,如果ROOT,跳过
3、执行hadoop namenode -format
4、在cn14上执行start-dfs.sh
5、在cn14上执行hadoop dfsadmin -report
把结果贴出来
顺便去检查 cn14:50070访问是否正常,特别注意NODE结点数
将dfs.name.dir和dfs.data.dir对应的目录删除,重新format一遍试试
产生此问题的原因是:
1、hdfs 目录分配到一块新的磁盘上,启动后执行hdfs dfs -ls -R /,把上面的错误;
2、考虑产生此问题的原因:hdfs目录分配到一块新的磁盘上,没有进行格式化;
3、执行格式化后,问题解决。hdfs namenode -format