0

我已经spark-3.1.1-bin-without-hadoop跑了hadoop-3.2.2

我们的主机网络如下所示:

  • host.dc.example.com-- 主机在dc数据中心的主要接口
  • host.vlan.dc.example.com-- 主机在数据中心的 VLAN 接口

当我在客户端模式或集群模式下运行 Spark 作业时,资源管理器 ( rm.vlan.dc.example.com) 无法代理运行在客户端和节点管理器上的应用程序管理器。

发生的情况是 AM 检查启动它的本地主机名。说出client.dc.example.com并根据该地址向 RM 发送一个 URL。当 RM 尝试通过该 URL 访问 UI 时,AM 将重定向发送回 RM。然后 RM 显示此消息:

application_1627338936990_0014 的应用程序主将资源管理器的 Web 代理的请求重定向回 Web 代理,这意味着您查看应用程序主的 Web UI 的请求无法完成。此错误的典型原因是网络配置错误,导致资源管理器的 Web 代理主机解析为应用程序主控主机上的意外 IP 地址。请联系您的集群管理员解决问题。

rm.vlan.dc.example.com但是,如果我手动将 AM URL 更改为表单,我可以从 RM 系统 () 访问 UI am.vlan.dc.example.com

似乎 AM 假设:

  1. URL 将映射到系统的默认主机名。
  2. 除非来自 VLAN 接口,否则访问将被拒绝。

如果我将客户端的主机名从 更改为client.dc.example.comclient.vlan.dc.example.com那么我可以通过资源管理器查看 Spark UI。

一种解决方法是更改​​数据中心的客户端和 NodeManager 系统的所有主机名,但这可能会造成破坏。

这种行为似乎在不同版本的 Spark 中发生了变化。

4

0 回答 0