Spark如何报告/收集指标

时间:2019-03-15 09:32:54

标签: scala apache-spark metrics

This定义了几个接收器,指标等。但是它们被收集了吗?

  1. 假设我将JxmSink添加到metric.properties文件中,并启用了所有实例指标(主,应用程序,工作程序,执行程序,驱动程序,shuffleService,applicationMaster)。
  2. 假设设置了jmx端口。

在哪里收集指标:我应该连接到所有群集节点还是仅连接到驱动程序节点?

1 个答案:

答案 0 :(得分:1)

不需要从单个节点提取火花度量,如果在度量属性文件中配置了相应的宿主机,则将在每配置的秒数内将度量推送到它。我们的设置配置为让GraphiteSink收集指标,所需的配置如下所述(以及您提到的其他参数)

  1. 使用Graphite服务器端点准备指标配置属性文件
    *.sink.graphite.class=org.apache.spark.metrics.sink.GraphiteSink
    *.sink.graphite.host=<graphite-server-host>
    *.sink.graphite.port=<graphite-server-port>
    *.sink.graphite.period=10
    *.sink.graphite.prefix=dev
  1. 确保将度量标准属性文件传递到spark-submit作业脚本的--files选项中,以便执行者节点将其用于发送度量标准