端口在本地似乎打开,但在另一台机器上已关闭

端口在本地似乎打开,但在另一台机器上已关闭

我目前正在尝试在我的网络上设置 Hadoop 分布式计算集群。目前,我的集群节点在与主服务器通信时遇到问题。

现在我正在两台计算机上工作,客户端和服务器。

在服务器上:

$ nmap SERVER -p 9000

Starting Nmap 5.21 ( http://nmap.org ) at 2012-05-29 13:16 PDT
Nmap scan report for ncoiasi1 (127.0.0.1)
Host is up (0.000032s latency).
Hostname ncoiasi1 resolves to 2 IPs. Only scanned 127.0.0.1
rDNS record for 127.0.0.1: localhost
PORT     STATE SERVICE
9000/tcp open  cslistener

在客户端:

$ nmap SERVER -p 9000

Starting Nmap 5.21 ( http://nmap.org ) at 2012-05-29 13:16 PDT
Nmap scan report for ncoiasi1 (10.23.95.197)
Host is up (0.00020s latency).
rDNS record for 10.23.95.197: NCOIASI1
PORT     STATE  SERVICE
9000/tcp closed cslistener

我做了以下几件事:

  1. 确保两台机器在 /etc/hosts 中都有条目,并在两台机器的 /etc/hosts.allow 中输入 ALL:ALL
  2. 禁用两台机器上的防火墙(因为我有严格的公司防火墙,所以这样做是安全的)
  3. 用于lsof验证正确的进程是否正在监听 9000。

任何帮助都将不胜感激;我知道这只是我忘记了某个地方的一些配置,但我找不到在哪里。

答案1

您的服务器设置为仅监听其环回,而不监听暴露给客户端的 NIC。尝试“netstat -an | grep :9000”,您可能只会看到 127.0.0.1:9000。编辑 Hadoop 服务器的配置文件,使其包含其 NIC 的地址。这篇文章介绍了需要更改的内容: https://stackoverflow.com/questions/4855808/hadoop-job-tracker-only-accessible-from-localhost

相关内容