![端口在本地似乎打开,但在另一台机器上已关闭](https://linux22.com/image/585784/%E7%AB%AF%E5%8F%A3%E5%9C%A8%E6%9C%AC%E5%9C%B0%E4%BC%BC%E4%B9%8E%E6%89%93%E5%BC%80%EF%BC%8C%E4%BD%86%E5%9C%A8%E5%8F%A6%E4%B8%80%E5%8F%B0%E6%9C%BA%E5%99%A8%E4%B8%8A%E5%B7%B2%E5%85%B3%E9%97%AD.png)
我目前正在尝试在我的网络上设置 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
我做了以下几件事:
- 确保两台机器在 /etc/hosts 中都有条目,并在两台机器的 /etc/hosts.allow 中输入 ALL:ALL
- 禁用两台机器上的防火墙(因为我有严格的公司防火墙,所以这样做是安全的)
- 用于
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