我最近配置了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
管理系统
或者添加一个块到Carbon
的{{1}}?
该块将显示在storage-schemas.conf
仪表板中:
Graphite
我能否以某种方式检查哪些指标[carbon]
pattern = ^carbon\.
retentions = 60:90d
发送给Spark
?