如何使用自定义StatsD Spark指标接收器配置执行程序

时间:2017-01-13 17:27:36

标签: scala apache-spark metrics sink

如何将Spark Streaming指标汇入此StatsD sink执行程序?

与其他报告的问题(sink class not foundsink class in executor)类似,我可以获取驱动程序指标,但执行程序会使用我的设置抛出ClassNotFoundException

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

    • --files ./my.jar(将包含接收器的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")
    

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

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