4

我的配置:

服务器级机器集群(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 服务(服务 vsftpd 停止),尝试在标准 ftp 端口(21)上启动 dfs,namenode 出现,其余节点再次失败。甚至不能从 B2、B3、B4 telnet 到 ftp 端口。
  7. “telnet localhost 53410”在 B1 上运行良好。

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

4

4 回答 4

4

以前的答案对我来说不是很清楚。基本上每个 hadoop 服务器(节点或名称节点)都会创建一个服务器并监听与其查找名称相关的 IP。

假设您有 3 个盒子(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)
于 2012-02-22T20:10:20.940 回答
2

修复了这个.. 这是我的 /etc/hosts 中的错误条目。所有节点都在环回连接到主节点。

于 2011-09-15T13:21:06.927 回答
1

尝试更改 conf/core-site.xml

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

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

于 2011-09-15T08:17:58.337 回答
0

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

chmod 755 /home/svenkata/hadoop/datanode/
于 2014-02-18T03:52:15.243 回答