Spark监控YARN集群模式下的REST API



当Spark部署在YARN集群模式时,我应该如何发出Spark监控REST API调用http://spark.apache.org/docs/latest/monitoring.html ?

YARN有一个API,以REST调用为例(我已经知道app-id)

http://localhost: 4040/api/v1/应用程序/[应用id]/工作

,代理它到正确的驱动程序端口,并返回JSON给我吗?我指的是我的客户。

假设(或已经按照设计)由于安全原因,我不能直接与驱动机器对话。

请查看spark文档- REST API

使用最新的api。

通过这篇文章事实证明,还有第三种非常简单的选择,但没有文档说明。Spark有一个隐藏的REST API来处理应用程序的提交、状态检查和取消。

除了在UI中查看指标之外,它们还可以作为JSON使用。这为开发人员提供了一种为Spark创建新的可视化和监控工具的简单方法。JSON既可用于运行的应用程序,也可用于历史服务器。端点挂载在/api/v1。如。,对于历史服务器,它们通常可以访问http://:18080/api/v1,对于正在运行的应用程序,可以访问http://localhost:4040/api/v1。

这些是其他可用的选项…

  • 李维观察者

使用Livy向Apache Spark集群Linux远程提交Spark作业

其他选项包括

使用REST触发spark作业

我就是这么做的,

在yarn资源管理器UI中,单击正在运行的应用程序的"应用程序管理器"的链接,并注意它指向

的URL。

对我来说,链接是这样的http://RM: 20888/代理/application_1547506848892_0002/

在api的URL后面加上"api/v1/applications/application_1547506848892_0002"

对于上面的例子,api的url是旋度"http://RM: 20888/代理/application_1547506848892_0002/api/v1/应用程序/application_1547506848892_0002"

最新更新