Hadoop namenode拒绝连接! 我究竟做错了什么?

我的configuration:

服务器级的机器集群(4台机器),每台机器都具有RHEL,8GB RAM,四核处理器。 我将机器“B1”设置为主机,其余的作为从机(B2,B3,B4)。 启动dfs-start.sh,名字节点出现在B1上的53410上。 剩下的节点不能连接到53410上的B1!

以下是我迄今所做的:

  1. 尝试从B2,B3,B4尝试“telnet B1 53410” – 连接被拒绝。
  2. 从B2,B3,B4试过ssh到B1,反之亦然 – 没问题,工作正常。
  3. 将53410更改为55410,重新启动dfs,同样的问题 – 连接也在这个端口上被拒绝。
  4. B1上禁用的防火墙(iptables停止) – 尝试从B2,B3,B4连接 – 在telnet上失败。
  5. 在所有节点上禁用防火墙,再次尝试,再次失败,连接到53410。
  6. 检查过的ftp正在从B2,B3,B4到B1,停止ftp服务(service vsftpd stop),尝试在标准ftp端口(21)上启动dfs,namenode出现,其余节点再次失败。 甚至不能从B2,B3,B4 telnet到ftp端口。
  7. “telnet localhost 53410”在B1上正常工作。

所有节点都可以互相访问,并且所有的/ etc / hosts都设置了正确的IP地址映射。 所以,在这一点上我是非常无知的。 为什么地名会拒绝连接 – 是否有hadoop conf中的设置,我应该知道允许外部客户端在namenode端口上进行远程连接?

以前的答案我不清楚。 基本上,每个hadoop服务器(节点或名称节点)将创建一个服务器,并侦听与其查找名称关联的IP。

假设你有3个box(box1,box2,box3),/ etc / hosts文件应该是这样的:

127.0.0.1 localhost 192.168.10.1 box1 192.168.10.2 box2 192.168.10.3 box3 

代替 :

 127.0.0.1 localhost box1 192.168.10.2 box2 192.168.10.3 box3 //(this is incorrect, box one will be listening exclusively on 127.0.0.1) 

解决这个..这是我的/ etc / hosts中的一个不正确的条目。 所有节点都在回环连接到主站。

尝试在conf / core-site.xml中更改

 <property> <name>fs.default.name</name> <value>hdfs://localhost:54310</value> </property> 

从本地主机到您的机器名称?

使用正确的文件权限设置DataNode:

 chmod 755 /home/svenkata/hadoop/datanode/