我最近配置Airflow
为执行我的任务。我有主节点和 2 个工作人员来执行我的任务。我想用Graphite
和监视我的集群Grafana
。我所做的只是在主节点上安装Graphite
并Grafana
使用简单的 bash 命令对其进行测试。现在我想Airflow
在执行任务时监控我的集群。我创建 metrics.properties
并将其放置在spark/conf
:
# Enable Graphite
*.sink.graphite.class=org.apache.spark.metrics.sink.GraphiteSink
*.sink.graphite.host=192.168.2.241
*.sink.graphite.port=2003
*.sink.graphite.period=10
# Enable jvm source for instance master, worker, driver and executor
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-submit
:
--files=/path/to/metrics.properties \
--conf spark.metrics.conf=metrics.properties
打开后我能找到Graphite ui
的Graphite->carbon->agents->cluster1-a
只有一些图表。我确定它正在监视其他东西,而不是我的Airflow
集群。
也许我需要安装grafana-spark-dashboards
?但这就是全部YARN
,我正在使用Airflow
管理系统。或者在's
中添加一个块?
此块将显示在仪表板中:Carbon
storage-schemas.conf
Graphite
[carbon]
pattern = ^carbon\.
retentions = 60:90d
我可以以某种方式检查哪些指标Spark
发送到Graphite
?