欢迎关注大数据技术架构与案例微信公众号:过往记忆大数据
过往记忆博客公众号iteblog_hadoop
欢迎关注微信公众号:
过往记忆大数据

Spark 1.4中REST API介绍

  在Spark 1.4中引入了REST API,这样我们可以像Hadoop中REST API一样,很方便地获取一些信息。这个ISSUE在https://issues.apache.org/jira/browse/SPARK-3644里面首先被提出,已经在Spark 1.4加入。

  Spark的REST API返回的信息是JSON格式的,开发者们可以很方便地通过这个API来创建可视化的Spark监控工具。目前这个API支持正在运行的应用程序,也支持历史服务器。在请求URL都有/api/v1。比如,对于历史服务器来说,我们可以通过http://:18080/api/v1来获取一些信息;对于正在运行的Spark应用程序,我们可以通过:4040/api/v1来获取一些信息。


如果想及时了解Spark、Hadoop或者Hbase相关的文章,欢迎关注微信公共帐号:iteblog_hadoop

  下面是目前Spark支持的所有REST API:

/applications:这个将显示所有的应用程序;
/applications/[app-id]/jobs:获取给定应用程序的所有Jobs;
/applications/[app-id]/jobs/[job-id]:获取给定Job的信息
/applications/[app-id]/stages:获取给定应用程序的所有stages;
/applications/[app-id]/stages/[stage-id]:获取给定stages的所有attempts ;
/applications/[app-id]/stages/[stage-id]/[stage-attempt-id]:获取给定stages attempts 的信息
/applications/[app-id]/stages/[stage-id]/[stage-attempt-id]/taskSummary:获取给定stage attempt中所有tasks的metrics信息
/applications/[app-id]/stages/[stage-id]/[stage-attempt-id]/taskList:获取给定stage attempt的所有tasks;
/applications/[app-id]/executors:获取给定应用程序的所有executors;
/applications/[app-id]/storage/rdd:获取给定应用程序的所有缓存的RDDs ;
/applications/[app-id]/storage/rdd/[rdd-id]:获取给定RDD的存储状态详情。

  当应用程序运行在YARN模式,每个应用程序将有多个attempts,所以我们需要将上面所有[app-id]改成[app-id]/[attempt-id]。上面所有的URL都是有版本的,这样将使得开发者们很容易在上面开发应用程序。此外,Spark还提供以下保证:
  1、任何一个版本的Endpoints都不会被移除;
  2、单个字段将永远不会从任何的Endpoints中移除;
  3、新的Endpoints可能被加入;
  4、新的字段可能会被加入到某个Endpoints中;
  5、新的版本可能会在未来加入到单独的Endpoint中(比如api/v2),而且新版本不要求向后兼容;
  6、API的版本可能会被删除,但至少存在一个新的API版本。

  需要注意的是,即使是想检查正在运行的应用程序UI是,我们也需要加入applications/[app-id]部分,即使是存在一个应用程序。比如如果你想获取所有正在运行的应用程序的作业列表,你可以通过http://:4040/api/v1/applications/[app-id]/jobs获取,这样做是为了在两种模式中保存一致的路径。

  本文翻译自Spark官方文档。
本博客文章除特别声明,全部都是原创!
原创文章版权归过往记忆大数据(过往记忆)所有,未经许可不得转载。
本文链接: 【Spark 1.4中REST API介绍】(https://www.iteblog.com/archives/1386.html)
喜欢 (8)
分享 (0)
发表我的评论
取消评论

表情
本博客评论系统带有自动识别垃圾评论功能,请写一些有意义的评论,谢谢!