我已经成功设置了一个包含6个节点的Hadoop集群(master,salve< 1-5>)
我尝试使用以下方式查看正在运行的服务:
sudo netstat -plten | grep java
hduser@ubuntu:~$ sudo netstat -plten | grep java
tcp 0 0 0.0.0.0:50070 0.0.0.0:* LISTEN 1000 93307 11384 / java
tcp 0 0 0.0.0.0:44440 0.0.0.0:* LISTEN 1000 92491 11571 / java
tcp 0 0 0.0.0.0:40633 0.0.0.0:* LISTEN 1000 92909 11758 / java
tcp 0 0 0.0.0.0:50010 0.0.0.0:* LISTEN 1000 93449 11571 / java
tcp 0 0 0.0.0.0:50075 0.0.0.0:* LISTEN 1000 93673 11571 / java
tcp 0 0 0.0.0.0:50020 0.0.0.0:* LISTEN 1000 93692 11571 / java
tcp 0 0 127.0.0.1:40485 0.0.0.0:* LISTEN 1000 93666 12039 / java
tcp 0 0 0.0.0.0:44582 0.0.0.0:* LISTEN 1000 93013 11852 / java
tcp 0 0 10.42.43.1:54310 0.0.0.0:* LISTEN 1000 92471 11384 / java
tcp 0 0 10.42.43.1:54311 0.0.0.0:* LISTEN 1000 93290 11852 / java
tcp 0 0 0.0.0.0:50090 0.0.0.0:* LISTEN 1000 93460 11758 / java
tcp 0 0 0.0.0.0:34154 0.0.0.0:* LISTEN 1000 92179 11384 / java
tcp 0 0 0.0.0.0:50060 0.0.0.0:* LISTEN 1000 94200 12039 / java
tcp 0 0 0.0.0.0:50030 0.0.0.0:* LISTEN 1000 93550 11852 / java
它的主IP绑定到端口54310和54311而不是localhost(环回)。
conf-site.xml已正确配置:
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hduser/hadoop/tmp</value>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://master:54310</value>
</property>
</configuration>
为什么期望localhost被绑定到54310而不是我在这里配置的主人。帮助赞赏。我该如何解决这个问题?
干杯
答案 0 :(得分:1)
显然,在我添加新的hadoop(1.0.4)bin目录之前,有人将旧的hadoop(1.0.3)bin目录添加到路径变量中。因此,每当我从CLI运行“hadoop”时,它就会执行旧的hadoop而不是新的二进制文件的二进制文件。
解决方案:
删除旧hadoop的整个bin路径
关闭群集 - 退出终端
登录新的终端会话
启动节点
尝试hadoop dfs -ls /
- &gt;工作良好 !!!!很好的经验教训。
答案 1 :(得分:0)
看起来很多人遇到了这个问题。
可能不需要更改/ etc / hosts,并确保您可以相互访问主服务器和从服务器,并且您的core-site.xml指向正确的主节点和端口号。
然后仅在主节点上运行$ HADOOP / bin / stop-all.sh,$ HADOOP / bin / start-all.sh. (如果在奴隶上运行可能会导致问题)。使用JPS检查所有服务是否存在如下。
在主节点上: 4353 DataNode 4640 JobTracker 4498 SecondaryNameNode 4788 TaskTracker 4989 Jps 4216 NameNode
在从属节点上: 3143 Jps 2827 DataNode 2960 TaskTracker
答案 2 :(得分:0)
此外,检查namenode和datanode之间的防火墙规则