0

如何将 Spark Streaming 指标下沉到执行者的这个 StatsD 接收器

与其他报告的问题(未找到接收器类,执行器中的接收器类)类似,我可以获得驱动程序指标,但执行器会抛出ClassNotFoundException我的设置:

  • StatsD sink类是使用我的 Spark-Streaming 应用程序编译的 ( my.jar)
  • spark-submit运行:

    • --files ./my.jar(将包含水槽的罐子拉到执行器中)
    • --conf "spark.executor.extraClassPath=my.jar"
  • Spark Conf 在驱动程序中配置为:

    val conf = new SparkConf()
    
    conf.set("spark.metrics.conf.*.sink.statsd.class",
             "org.apache.spark.metrics.sink.StatsDSink")
        .set("spark.metrics.conf.*.sink.statsd.host", conf.get("host"))
        .set("spark.metrics.conf.*.sink.statsd.port", "8125")
    
4

2 回答 2

2

看起来你遇到了错误https://issues.apache.org/jira/browse/SPARK-18115。我也打了它并用谷歌搜索了你的问题:(

于 2017-02-16T07:16:36.470 回答
1

将您的 jar 文件复制到 $SPARK_HOME/jars 文件夹。

于 2017-06-01T15:02:35.553 回答