我正在局域网上建立一个hadoop虚拟机集群,其中一个vm(resourcemanager)上的进程提供了一个webui,它表现出奇怪的行为。所有虚拟机都从我的桌面上运行,并已分配IP。
我的目标网址是 resourcemanager:8088
这就是行为。
从我桌面上运行的其他虚拟机:
curl -v resourcemanager:8088
返回一个 HTTP 302 Found
回应 Location: http://resourcemanager:8088/cluster
. 我看到这是一个重定向,然后 curl -L resourcemanager:8088
已成功检索html。
从运行虚拟机的桌面:
尝试从(chrome)浏览器访问url net::ERR_CONNECTION_REFUSED
. 也
curl resourcemanager:8088
退货 curl: (7) Failed to connect to resourcemanager port 8088: Connection refused
.
每个虚拟机都有相同的/etc/主机:
::1 localhost
127.0.0.1 localhost
10.0.0.3 namenode
10.0.0.4 resourcemanager
10.0.0.5 datanode1
以及 .../drivers/etc/hosts
我的(windows)桌面上的文件看起来是一样的减去 localhost
线。
为了使事情更复杂,第二个进程(namenode)还提供了一个webui,称之为 namenode:50070
,我可以 curl
它从桌面和虚拟机,我可以通过浏览器从我的桌面。
有什么想法吗?
编辑
规格:
桌面操作系统:windows 10
vms os:arch linux最新版本(linux内核4.5.4)
最初的arch+hadoop虚拟机是用hyper-v创建的,然后克隆来创建上面列出的三个“集群”虚拟机。克隆之后,每个虚拟机都被赋予一个唯一的主机名(如上所列),并从我的路由器(也如上所列)分配一个保留的ip地址。所有虚拟机都使用“外部虚拟机交换机”。
1条答案
按热度按时间c86crjj01#
我不能评论,因为我还没有50信誉,但这可能与端口8088后面的服务配置有关:虚拟机可能从虚拟dhcp服务器获得了一个“小”网络掩码,它可能覆盖了所有其他虚拟机的ip范围,不包括主机。如果发生了这种情况,并且该服务与其他许多服务一样配置为侦听所有接口,那么它将不会对请求作出React,并且您的连接将到达一个关闭的端口,从而导致“连接被拒绝”错误。怎么回事?