Hadoop LAN虚拟机上的Web应用程序:curl-L可从其他虚拟机上工作,主机上的浏览器/curl不';T

Hadoop LAN虚拟机上的Web应用程序:curl-L可从其他虚拟机上工作,主机上的浏览器/curl不';T,hadoop,curl,networking,port,yarn,Hadoop,Curl,Networking,Port,Yarn,我正在局域网上设置一个Hadoop虚拟机集群,其中一个VM(ResourceManager)上的进程提供了一个Web UI,它表现出奇怪的行为。所有虚拟机都从我的桌面运行,并已分配IP 我的目标URL是resourcemanager:8088,下面是行为 从我的桌面上运行的其他虚拟机: curl -v resourcemanager:8088 返回一个http302found响应和位置:http://resourcemanager:8088/cluster。查看这个,我看到这是一个重定向,并且

我正在局域网上设置一个Hadoop虚拟机集群,其中一个VM(ResourceManager)上的进程提供了一个Web UI,它表现出奇怪的行为。所有虚拟机都从我的桌面运行,并已分配IP

我的目标URL是
resourcemanager:8088
,下面是行为

从我的桌面上运行的其他虚拟机:

curl -v resourcemanager:8088
返回一个
http302found
响应和
位置:http://resourcemanager:8088/cluster
。查看这个,我看到这是一个重定向,并且
curl-lResourceManager:8088
成功地检索HTML

从运行虚拟机的桌面:

尝试从(Chrome)浏览器访问URL会导致
net::ERR\u连接被拒绝
。也

curl resourcemanager:8088
返回
curl:(7)连接到resourcemanager端口8088失败:连接被拒绝

每个虚拟机都有相同的/etc/hosts

::1       localhost
127.0.0.1 localhost
10.0.0.3  namenode
10.0.0.4  resourcemanager
10.0.0.5  datanode1
我(Windows)桌面上的
../drivers/etc/hosts
文件减去
localhost
行后看起来是一样的

更复杂的是,第二个进程(NameNode)还提供了一个web用户界面,称之为
NameNode:50070
,我可以从桌面和虚拟机上
curl
它,我可以从桌面通过浏览器访问它

有什么想法吗

编辑

规格:

桌面操作系统:Windows 10

VMs OS:Arch Linux最新版本(Linux内核4.5.4)


最初的Arch+hadoop虚拟机是使用Hyper-V创建的,然后创建上面列出的三个“集群”虚拟机。克隆后,每个虚拟机都有一个唯一的主机名(上面列出),并从我的路由器(上面也列出)分配了一个保留的IP地址。所有虚拟机都使用。

我无法评论,因为我还没有50个信誉,但这可能与端口8088后面的服务配置有关:虚拟机可能从虚拟dhcp服务器获得了一个“小”网络掩码,它可能覆盖了所有其他虚拟机的IP范围,不包括主机。如果发生了这种情况,并且该服务与其他许多服务一样被配置为侦听所有接口,则它不会对请求做出反应,并且您的连接将到达一个关闭的端口,从而导致“连接被拒绝”错误。这是怎么回事?

虚拟机使用的是什么网络类型?通常,除非您设置转发规则,否则主机无法通过网络访问来宾VM。考虑VM网络有防火墙,在你的当前设置允许其他VM彼此交谈,但是你的桌面也可能是防火墙的另一侧的计算机,这就是为什么你不能进入。你是什么意思“网络类型”?在hyper-v中创建虚拟机时,我首先创建了一个他们都使用的“外部虚拟交换机”。另外,还有另一个web应用程序在另一个VM(namenode:50070)上运行,我可以通过桌面浏览器和curl访问它,也可以通过其他VM的curl访问它。我不知道为什么两者之间的行为会有所不同。由于web应用程序与hadoop框架一起提供,我不确定它们是否/如何/为什么设置不同。但除了hadoop之外,这可能只是一个网络问题,即操作系统是否有任何不同,可能是像iptables这样的操作系统防火墙?我在“编辑”中添加了一些额外的细节,但所有虚拟机都来自同一个ArchLinux+hadoop模板虚拟机,但提供了唯一的主机名和IP。因此,它们上的所有网络配置都应该相同。除了Web UI运行在不同(但几乎相同)的虚拟机上这一事实之外,我能看到的唯一区别是端口。这很棘手。与您选择的类型相比,网络似乎很好。连接被拒绝意味着某些东西正在主动拒绝连接,因此您正在到达一个目的地(可能是错误的目的地),而它正在拒绝连接。与数据包丢失或丢弃的超时相反。我对Hadoop没有太多经验,但是是否有一些配置可能会因为来自不同的子网而拒绝连接?(或者您的桌面是否也有10.0.0.x本地地址?