如何从 `yarn application -list` 访问 Tracking-URL?

Posted

技术标签:

【中文标题】如何从 `yarn application -list` 访问 Tracking-URL?【英文标题】:How to access Tracking-URL from `yarn application -list`? 【发布时间】:2017-03-03 23:20:44 【问题描述】:

我想查看我在 yarn 中看到的某个工作的 yarn web UI。

当我执行yarn application -list 时,我可以看到跟踪 URL <tracking-URL>

所以,我在 chrome 中导航到该页面,它给了我这样的错误:

The 172.12.15.181 page isn't working.
172.12.15.181 didn't send any data.

我显然已经通过 ssh 进入了应该允许我看到它的机器。此外,这份工作绝对是在 YARN 中的status=RUNNING。那么,是什么阻止我在这个 url 上看到 yarn web UI?

我这样做正确吗?谢谢。

【问题讨论】:

【参考方案1】:

yarn应用程序--list中显示的跟踪URL是正确的,问题是您无法正确访问它。

    确保你的电脑可以到达运行spark驱动代码的节点,检查网络防火墙。

    确保防火墙允许用于 URL 的端口。如果不使用动态端口转发。

    在大多数情况下,出于安全原因,防火墙端会阻止未知端口,您需要进行动态转发才能查看 URL。

我个人使用putty创建动态端口转发隧道,然后使用“SwitchySharp”chrome扩展查看spark UI。

【讨论】:

谢谢@RBanerjee。我肯定已经在其他集群中运行过 spark 应用程序(通过简单的 ssh 访问),并且只需单击 Tracking URL 即可轻松访问 Web UI。火花作业总是从其他集群上的端口4040 开始,在这个集群上。所以,我想知道为什么这个集群不让我访问端口 4040?但它肯定在其他集群中也有效。 无论如何,我愿意尝试动态端口转发。我该如何设置? 这里很难解释,让我试试,使用putty登录,转到更改设置->连接-> SSH->隧道,仅将源端口设置为9999类型Dynmic和Ipv4。然后申请。现在打开 mozilla,设置-> 高级-> 网络设置-> 手动代理-> 仅设置 SocksHost 为 127.0.0.1 和端口为 9999 ,按确定。它应该可以工作,如果您使用的是比 mozilla 更好的 Chrome,您可以尝试 SwitcySharp,如果不起作用,请尝试将 Socks 版本更改为 v5。尝试谷歌搜索以获取有关动态端口转发的更多信息。 另外端口也不一定是4040,如果4040已经被占用,它会动态变化。所以使用正确的端口来打开 UI。【参考方案2】:

第 1 步: 打开通往您机器的 SSH 隧道:

ssh -i ~/.ssh/<KEY_FILE>.pem -L 4040:localhost:4040 -N <USER>@<SERVER_PUBLIC_IP>

第 2 步: 在浏览器中访问localhost:4040

【讨论】:

以上是关于如何从 `yarn application -list` 访问 Tracking-URL?的主要内容,如果未能解决你的问题,请参考以下文章

FlinkFlink on yarn 支持指定 application id 吗? yarn.application.id

Flink on Zeppelin 系列之:Yarn Application 模式支持

YARN 查看/停止 application 状态 常用命令

对Hadoop2.7.2文档的学习-Yarn部分Yarn Application

YARN 查看 队列,并切换 application 到 指定队列

YARN 查看 队列,并切换 application 到 指定队列