【发布时间】:2019-11-12 13:23:18
【问题描述】:
一个 Spark 应用程序可以运行许多作业。我的火花在纱线上运行。 2.2.0 版。
如何获取给定应用程序 ID 的作业运行状态和其他信息,可能使用 REST API?
【问题讨论】:
-
你会考虑使用 Spark REST API 来获取信息 --> spark.apache.org/docs/latest/monitoring.html#rest-api?
一个 Spark 应用程序可以运行许多作业。我的火花在纱线上运行。 2.2.0 版。
如何获取给定应用程序 ID 的作业运行状态和其他信息,可能使用 REST API?
【问题讨论】:
YARN 有一个Cluster Applications API。这显示了状态以及其他信息。要使用它:
$ curl 'RMURL/ws/v1/cluster/apps/APP_ID'
您的应用程序 ID 为 APP_ID。
它提供:
【讨论】:
这可能会晚,但为了方便起见。希望能帮助到你。您可以使用下面的 Rest API 命令来获取在 YARN 上运行的任何作业的状态。
curl --negotiate -s -u : -X GET 'http://resourcemanagerhost:8088/ws/v1/cluster/apps/application_121766109986_12343/state'
O/P - {"state":"RUNNING"}
在整个作业周期中,状态会从 NEW、NEW_SAVING、SUBMITTED、ACCEPTED、RUNNING、FINISHED、FAILED、KILLED 变化
您可以使用 jq 进行格式化输出。
curl --negotiate -s -u : -X GET 'http://resourcemanagerhost:8088/ws/v1/cluster/apps/application_121766109986_12343'| jq .app.state
O/P - “正在运行”
【讨论】: