gpt4 book ai didi

scala - yarn 上的 Spark ;如何将指标发送到 Graphite 水槽?

转载 作者:可可西里 更新时间:2023-11-01 14:18:06 30 4
gpt4 key购买 nike

我是 spark 的新手,我们正在运行 spark on yarn。我可以很好地运行我的测试应用程序。我正在尝试收集 Graphite 中的 Spark 指标。我知道要对 metrics.properties 文件进行哪些更改。但是我的 spark 应用程序将如何看到这个 conf 文件?

/xxx/spark/spark-0.9.0-incubating-bin-hadoop2/bin/spark-class org.apache.spark.deploy.yarn.Client --jar /xxx/spark/spark-0.9.0-incubating-bin-hadoop2/examples/target/scala-2.10/spark-examples_2.10-assembly-0.9.0-incubating.jar --addJars "hdfs://host:port/spark/lib/spark-assembly_2.10-0.9.0-incubating-hadoop2.2.0.jar" --class org.apache.spark.examples.Test --args yarn-standalone --num-workers 50 --master-memory 1024m --worker-memory 1024m --args "xx"

我应该在哪里指定 metrics.properties 文件?

我对其进行了以下更改:

*.sink.Graphite.class=org.apache.spark.metrics.sink.GraphiteSink
*.sink.Graphite.host=machine.domain.com
*.sink.Graphite.port=2003

master.source.jvm.class=org.apache.spark.metrics.source.JvmSource

worker.source.jvm.class=org.apache.spark.metrics.source.JvmSource

driver.source.jvm.class=org.apache.spark.metrics.source.JvmSource

executor.source.jvm.class=org.apache.spark.metrics.source.JvmSource

最佳答案

对于同一个问题,我找到了不同的解决方案。看起来 Spark 也可以从其配置属性中获取这些指标设置。例如 metrics.properties 中的以下行:

*.sink.Graphite.class=org.apache.spark.metrics.sink.GraphiteSink

也可以指定为具有键 spark.metrics.conf.*.sink.graphite.class 和值 org.apache.spark.metrics.sink.GraphiteSink< 的 Spark 属性。您只需在每个键前添加 spark.metrics.conf.

我最终将所有这些设置放在代码中,如下所示:

val sparkConf = new spark.SparkConf()
.set("spark.metrics.conf.*.sink.graphite.class", "org.apache.spark.metrics.sink.GraphiteSink")
.set("spark.metrics.conf.*.sink.graphite.host", graphiteHostName)
// etc.
val sc = new spark.SparkContext(sparkConf)

这样我就为驱动程序和执行程序设置了指标接收器。我使用的是 Spark 1.6.0。

关于scala - yarn 上的 Spark ;如何将指标发送到 Graphite 水槽?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23529404/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com