Skip to content

Instantly share code, notes, and snippets.

@joshisa
Last active March 8, 2017 02:30
Show Gist options
  • Select an option

  • Save joshisa/9b83931cf64082584ecc6391211c2ee9 to your computer and use it in GitHub Desktop.

Select an option

Save joshisa/9b83931cf64082584ecc6391211c2ee9 to your computer and use it in GitHub Desktop.
def enableMonitoring(sc):
from pyspark import SparkContext, SparkConf
conf = SparkConf()
for pair in sc._conf.toDebugString().split('\n'):
confList = pair.split('=')
conf.set(confList[0],confList[1])
conf.setAppName("sparkmon")
conf.set("spark.metrics.conf.*.sink.graphite.class","org.apache.spark.metrics.sink.GraphiteSink")
conf.set("spark.metrics.conf.*.sink.graphite.host","Graphite_HOSTNAME")
conf.set("spark.metrics.conf.*.sink.graphite.port","2003")
conf.set("spark.metrics.conf.*.sink.graphite.period","10")
conf.set("spark.metrics.conf.*.sink.graphite.unit","seconds")
conf.set("spark.metrics.conf.*.sink.graphite.prefix","dsx")
conf.set("spark.metrics.conf.master.source.jvm.class","org.apache.spark.metrics.source.JvmSource")
conf.set("spark.metrics.conf.worker.source.jvm.class","org.apache.spark.metrics.source.JvmSource")
conf.set("spark.metrics.conf.driver.source.jvm.class","org.apache.spark.metrics.source.JvmSource")
conf.set("spark.metrics.conf.executor.source.jvm.class","org.apache.spark.metrics.source.JvmSource")
conf.set("spark.metrics.conf.application.source.jvm.class","org.apache.spark.metrics.source.JvmSource")
conf.set("spark.metrics.conf.driver.source.system.class","org.apache.spark.metrics.source.SystemMetrics")
conf.set("spark.metrics.conf.driver.source.proc.class","org.apache.spark.metrics.source.ProcMetrics")
sc.stop()
del sc
return SparkContext(conf=conf)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment