这里有2台服务器
- 192.168.0.12
- 192.168.0.21
服务器 192.168.0.12 的 50070 端口有一个服务正在运行
当我从 192.168.0.21 服务器进行 telnet 时,它失败:
$telnet 192.168.0.12 50070
Trying 192.168.0.12...
telnet: connect to address 192.168.0.12: Connection refused
当我给出主机名时,它也会失败:
$telnet master1.mycluster 50070
Trying 192.168.0.12...
telnet: connect to address 192.168.0.12: Connection refused
即使我从 192.168.0.12 尝试,如果我给出 IP 地址也会失败:
$telnet 192.168.0.12 50070
Trying 192.168.0.12...
telnet: connect to address 192.168.0.12: Connection refused
但如果我给出主机名,它就会起作用:
$telnet master1.mycluster 50070
Trying 127.0.0.1...
Connected to master1.mycluster.
Escape character is '^]'.
我发现这个问题无法 telnet 到服务器连接拒绝,但我尝试了所有的可能性。这些是我尝试过的:
关闭两台服务器中的 iptables
在 cat /etc/hosts.allow 中添加了 ALL: ALL
确保服务正在该端口运行
但这些都不适合我。
这是我的/etc/hosts
127.0.0.1 master1.mycluster master1
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.0.12 master1.mycluster master1
192.168.0.21 slave1.mycluster slave1
我还缺少其他什么东西来使其正常工作吗?
答案1
您的服务仅侦听环回地址127.0.0.1
。
当您从地址建立连接192.168.0.21
或指定ip
地址时,它不起作用,因为您的服务没有侦听该地址ip
。
当您使用hostname
from时192.168.0.12
,它可以工作,因为它连接到环回地址。这是因为它会首先查看您的主机文件,/etc/hosts
其中有一个条目指向hostname
您的环回ip
:127.0.0.1 master1.mycluster