Spark REST API & metrics

版本: 2.3.0

除了可以通过ui访问各项参数, spark也提供json格式的方法。
这使得开发者可以方便的开发监控工具和新的可视化界面。
JSON支持运行状态的应用 和 历史服务状态的应用。
访问点为/api/v1 。 (对于history server ,http://<server-url>:18080/api/v1 ; 对于正在运行的应用, http://localhost:4040/api/v1.)

[app-id] 表示application ID 。 在yarn模式下是 [attempt-id] , 下表列出的api , 当运行在yarn cluster 模式下时, [app-id] 实际应是 [base-app-id]/[attempt-id], 其中[base-app-id] 应该是YARN的应用ID.

详见 http://spark.apache.org/docs/latest/monitoring.html

度量 metrics

Spark具有基于Dropwizard Metrics Library的可配置度量系统 。这使用户可以将Spark度量标准报告给各种接收器,包括HTTP,JMX和CSV文件。度量系统通过Spark期望的配置文件进行配置$SPARK_HOME/conf/metrics.properties。可以通过spark.metrics.conf 配置属性指定自定义文件位置。默认情况下,用于驱动程序或执行程序度量标准的根名称空间是值spark.app.id。但是,用户通常希望能够跟踪驱动程序和执行程序的各个应用程序的度量标准,这与应用程序标识(ie spark.app.id)很难做到,因为它随着应用程序的每次调用而改变。对于这种用例,可以为使用的度量报告指定自定义名称空间spark.metrics.namespace 配置属性。例如,如果用户想要将度量名称空间设置为应用程序的名称,则可以将该spark.metrics.namespace属性设置为类似的值${spark.app.name}。此值由Spark适当扩展并用作度量标准系统的根名称空间。非驱动程序和执行程序度量标准绝不会加上前缀spark.app.id,也不 spark.metrics.namespace会对此类度量标准产生任何影响。

Spark的度量被解耦成对应于Spark组件的不同 实例。在每种情况下,您都可以配置一组要汇报指标的汇。目前支持以下实例:

  • master:Spark独立主进程。
  • applications:主报告各种应用程序的组件。
  • worker:一个Spark独立工作进程。
  • executor:一个Spark执行者。
  • driver:Spark驱动程序进程(创建SparkContext的过程)。
  • shuffleService:Spark洗牌服务。

每个实例可以报告为零个或多个接收器。sink 定义在org.apache.spark.metrics.sink包中 :

  • ConsoleSink:将度量标准信息记录到控制台。
  • CSVSink:定期将度量数据导出到CSV文件。
  • JmxSink:注册用于在JMX控制台中查看的度量标准。
  • MetricsServlet:在现有的Spark UI中添加一个servlet,以将度量数据作为JSON数据提供。
  • GraphiteSink:将指标发送到Graphite节点。
  • Slf4jSink:将指标发送到slf4j作为日志条目。
  • StatsdSink:将指标发送到StatsD节点。

由于许可限制,Spark还支持未包含在默认版本中的Ganglia接收器:

  • GangliaSink:将指标发送给Ganglia节点或多播组。

要安装,GangliaSink您需要执行Spark的自定义构建。请注意,通过嵌入此库,您将在Spark包中包含LGPL许可代码。对于sbt用户,SPARK_GANGLIA_LGPL在构建之前设置 环境变量。对于Maven用户,启用-Pspark-ganglia-lgpl配置文件。除了修改集群的Spark构建用户应用程序之外,还需要链接到spark-ganglia-lgpl工件。

度量配置文件的语法在示例配置文件中定义 $SPARK_HOME/conf/metrics.properties.template

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 这个问题的答案是肯定的。 有一个精妙的比喻,教育就像一幅眼睛,你没戴眼镜前和你戴上眼镜后,你所处的世界都是一样的,...
    amazing2017阅读 532评论 0 2
  • 什么感受 不由自主空出身边的位置 幻想有人在这里填满 当幻想结束 下一场幻想便上演 不会累 因为没有演员 时常想 ...
    湿湿阅读 262评论 0 0
  • 1. 基础类型有哪些?复杂类型有哪些?有什么特征? 2. 如下代码的输出? 为什么? 代码 1. 写一个函数get...
    饥人谷_楠柒阅读 622评论 0 2
  • 从没有学过瑜伽。 没想到第一次学习瑜伽,竟然在这么美好的地方——隐庐,有这么一流的老师——劲松,有这么深入的学习和...
    卢文来阅读 578评论 0 1