webapp:curl-l可以从其他虚拟机运行,而主机上的browser/curl不能

z9smfwbn  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(342)

我正在局域网上建立一个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地址。所有虚拟机都使用“外部虚拟机交换机”。

c86crjj0

c86crjj01#

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

相关问题