今天帮别人装hadoop 伪分布 遇到了个问题解决了很久 记录一下。
环境:ubuntu VM虚拟机下安装的 hadoop 1.2.1
在使用hdfs的 java api 时,连接hadoop 伪分布式安装的hdfs, 总是报出 Connection Refused。查遍了网上诸多博客,尝试了很多办法。包括:
重新配置了ip,确认关闭了防火墙(ubuntu 的 ufw),确认能ping通虚拟机ip,NameNode的再次格式化,hadoop开启后,jps命令显示五个进程也正常工作。其中,NameNode重新格式化要注意删除hadoop.tmp.dir 配置的文件夹,不然DataNode 和NameNode 数据不一致,DataNode会启动失败。
最奇怪的是,网页端的访问是ok的,如果虚拟机不能访问,或者端口没有成功打开,那网页怎么能显示,而且网页hdfs的端口号就是9000,这与配置文件的设置也是一致的。
hadoop@hadoop-master:~