Spark 历史记录 UI 可用,但跟踪正在进行的应用程序的 UI 错误

Spark History UI is available but tracking UI errors for in-progress applications

我继承了一个使用 knox 的集群,我试图找出为什么 Spark 历史服务器可用于已完成的 Spark 作业,但 Spark UI 不可用于正在进行的 Spark 应用程序。

在此 yarn UI(通过 Knox 公开)中,有 5 个已完成的 yarn 应用程序和 1 个正在进行的 yarn 应用程序。都是spark应用:

在跟踪 UI 列中,可用的 link 是:

与已完成作业相关的五个 link 都成功地为这些作业启动了 Spark History 服务器 UI。如果我发出 cat ${GATEWAY_HOME}/logs/gateway-audit.log,当我点击这五个 link 中的任何一个时,我会看到以下内容:

20/01/27 15:50:55 ||55bef3f3-a52f-4790-97d0-bd6e5076a293|audit|109.231.200.210, 165.225.80.109, 34.102.220.138, 130.211.0.229|YARNUI||||access|uri|/gateway/my-cluster-name/yarn/proxy/application_1580137635209_0001|unavailable|Request method: GET
20/01/27 15:50:55 ||55bef3f3-a52f-4790-97d0-bd6e5076a293|audit|109.231.200.210, 165.225.80.109, 34.102.220.138, 130.211.0.229|YARNUI||||dispatch|uri|http://my-cluster-name-m:8088/proxy/application_1580137635209_0001|unavailable|Request method: GET
20/01/27 15:50:55 ||55bef3f3-a52f-4790-97d0-bd6e5076a293|audit|109.231.200.210, 165.225.80.109, 34.102.220.138, 130.211.0.229|YARNUI||||dispatch|uri|http://my-cluster-name-m:8088/proxy/application_1580137635209_0001|success|Response status: 302
20/01/27 15:50:55 |||audit|109.231.200.210, 165.225.80.109, 34.102.220.138, 130.211.0.229|YARNUI||||access|uri|/gateway/my-cluster-name/yarn/proxy/application_1580137635209_0001|success|Response status: 302

20/01/27 15:50:55 ||f7617e15-3bf4-4a8c-9701-9785894d7884|audit|109.231.200.210, 165.225.80.109, 34.102.220.138, 130.211.0.234|SPARKHISTORYUI||||access|uri|/gateway/my-cluster-name/sparkhistory/history/application_1580137635209_0001/1|unavailable|Request method: GET 20/01/27 15:50:55 ||f7617e15-3bf4-4a8c-9701-9785894d7884|audit|109.231.200.210, 165.225.80.109, 34.102.220.138, 130.211.0.234|SPARKHISTORYUI||||dispatch|uri|http://my-cluster-name-m:18080/history/application_1580137635209_0001/1/|unavailable|Request method: GET
20/01/27 15:50:55 ||f7617e15-3bf4-4a8c-9701-9785894d7884|audit|109.231.200.210, 165.225.80.109, 34.102.220.138, 130.211.0.234|SPARKHISTORYUI||||dispatch|uri|http://my-cluster-name-m:18080/history/application_1580137635209_0001/1/|success|Response status: 30

以及 Spark History UI 资源的许多其他日志记录。都好。注意302记录(重定向)

但是,如果我为正在进行的应用程序点击 link,我将被发送到集群主节点 http://my-cluster-name-m:18080/history/application_1580137635209_0006/1,并显示以下内容:

在我看到的日志中:

20/01/27 15:58:38 ||aec261d3-7ecc-43a7-8815-d7185ee13833|audit|109.231.200.210, 165.225.80.109, 34.102.220.138, 130.211.1.130|YARNUI||||access|uri|/gateway/my-cluster-name/yarn/proxy/application_1580137635209_0006|unavailable|Request method: GET
20/01/27 15:58:38 ||aec261d3-7ecc-43a7-8815-d7185ee13833|audit|109.231.200.210, 165.225.80.109, 34.102.220.138, 130.211.1.130|YARNUI||||dispatch|uri|http://my-cluster-name-m:8088/proxy/application_1580137635209_0006|unavailable|Request method: GET
20/01/27 15:58:38 ||aec261d3-7ecc-43a7-8815-d7185ee13833|audit|109.231.200.210, 165.225.80.109, 34.102.220.138, 130.211.1.130|YARNUI||||dispatch|uri|http://my-cluster-name-m:8088/proxy/application_1580137635209_0006|success|Response status: 200
20/01/27 15:58:38 |||audit|109.231.200.210, 165.225.80.109, 34.102.220.138, 130.211.1.130|YARNUI||||access|uri|/gateway/my-cluster-name/yarn/proxy/application_1580137635209_0006|success|Response status: 200

注意那里没有 302 条记录。

编辑:自从最初发布这篇文章以来,我注意到如果我在应用程序启动后立即UI link 单击跟踪,那么我就会被带走到纱线应用的细节:

几秒钟后,单击相同的 link 将带我到如上所示的错误。

此时我有点迷茫。任何人都可以帮助解释为什么我无法查看正在进行的应用程序的 Spark UI 吗?欢迎任何关于我如何诊断的指示。

好吧,这个回答比较尴尬。原因很简单,火花 UI 没有启用。将设置 spark.ui.enabled 更改为 true 解决了这个特定问题。