Spark REST API & metrics
版本: 2.3.0
除了可以通過ui訪問各項引數, spark也提供json格式的方法。
這使得開發者可以方便的開發監控工具和新的視覺化介面。
JSON支援執行狀態的應用 和 歷史服務狀態的應用。
訪問點為/api/v1 。 (對於history server ,http://<server-url>:18080/api/v1 ; 對於正在執行的應用, http://localhost:4040/api/v1.)
[app-id] 表示application ID 。 在yarn模式下是 [attempt-id] , 下表列出的api , 當執行在yarn cluster 模式下時, [app-id] 實際應是 [base-app-id]/[attempt-id], 其中[base-app-id] 應該是YARN的應用ID.
詳見 http://spark.apache.org/docs/latest/monitoring.html
度量 metrics
Spark具有基於Dropwizard Metrics Library的可配置度量系統 。這使使用者可以將Spark度量標準報告給各種接收器,包括HTTP,JMX和CSV檔案。度量系統通過Spark期望的配置檔案進行配置$SPARK_HOME/conf/metrics.properties
。可以通過spark.metrics.conf
配置屬性指定自定義檔案位置。預設情況下,用於驅動程式或執行程式度量標準的根名稱空間是值spark.app.id
。但是,使用者通常希望能夠跟蹤驅動程式和執行程式的各個應用程式的度量標準,這與應用程式標識(ie spark.app.id
)很難做到,因為它隨著應用程式的每次呼叫而改變。對於這種用例,可以為使用的度量報告指定自定義名稱空間spark.metrics.namespace
配置屬性。例如,如果使用者想要將度量名稱空間設定為應用程式的名稱,則可以將該spark.metrics.namespace
屬性設定為類似的值${spark.app.name}
。此值由Spark適當擴充套件並用作度量標準系統的根名稱空間。非驅動程式和執行程式度量標準絕不會加上字首spark.app.id
,也不 spark.metrics.namespace
會對此類度量標準產生任何影響。
Spark的度量被解耦成對應於Spark元件的不同 例項。在每種情況下,您都可以配置一組要彙報指標的匯。目前支援以下例項:
-
master
:Spark獨立主程式。 -
applications
:主報告各種應用程式的元件。 -
worker
:一個Spark獨立工作程式。 -
executor
:一個Spark執行者。 -
driver
:Spark驅動程式程式(建立SparkContext的過程)。 -
shuffleService
:Spark洗牌服務。
每個例項可以報告為零個或多個接收器。sink 定義在org.apache.spark.metrics.sink
包中 :
-
ConsoleSink
:將度量標準資訊記錄到控制檯。 -
CSVSink
:定期將度量資料匯出到CSV檔案。 -
JmxSink
:註冊用於在JMX控制檯中檢視的度量標準。 -
MetricsServlet
:在現有的Spark UI中新增一個servlet,以將度量資料作為JSON資料提供。 -
GraphiteSink
:將指標傳送到Graphite節點。 -
Slf4jSink
:將指標傳送到slf4j作為日誌條目。 -
StatsdSink
:將指標傳送到StatsD節點。
由於許可限制,Spark還支援未包含在預設版本中的Ganglia接收器:
-
GangliaSink
:將指標傳送給Ganglia節點或多播組。
要安裝,GangliaSink
您需要執行Spark的自定義構建。請注意,通過嵌入此庫,您將在Spark包中包含LGPL許可程式碼。對於sbt使用者,SPARK_GANGLIA_LGPL
在構建之前設定 環境變數。對於Maven使用者,啟用-Pspark-ganglia-lgpl
配置檔案。除了修改叢集的Spark構建使用者應用程式之外,還需要連結到spark-ganglia-lgpl
工件。
度量配置檔案的語法在示例配置檔案中定義 $SPARK_HOME/conf/metrics.properties.template
。
相關文章
- rest apiRESTAPI
- GraphQL API vs REST APIAPIREST
- Elasticsearch(二)——Rest APIElasticsearchRESTAPI
- Spark API 全集(1):Spark SQL Dataset & DataFrame APISparkAPISQL
- Spark RDD APISparkAPI
- Spark 系列(九)—— Spark SQL 之 Structured APISparkSQLStructAPI
- Django REST framework API 指南(21):SchemasDjangoRESTFrameworkAPI
- Harbor配置Swagger遠端REST APISwaggerRESTAPI
- rest-api設計風格RESTAPI
- Django REST framework API 指南(6):路由DjangoRESTFrameworkAPI路由
- Django REST framework API 指南(7):解析DjangoRESTFrameworkAPI
- Django REST framework API 指南(8):渲染DjangoRESTFrameworkAPI
- Django REST framework API 指南(27):SettingsDjangoRESTFrameworkAPI
- Django REST framework API 指南(15):限流DjangoRESTFrameworkAPI
- Django REST framework API 指南(17):分頁DjangoRESTFrameworkAPI
- Django REST framework API 指南(18):版本控制DjangoRESTFrameworkAPI
- Elasticsearch Java High Level REST Client(Exists API)ElasticsearchJavaRESTclientAPI
- Elasticsearch Java High Level REST Client(Delete API)ElasticsearchJavaRESTclientdeleteAPI
- REST API簽名認證機制RESTAPI
- Django REST framework API 指南(13):認證DjangoRESTFrameworkAPI
- elasticsearch常用請求介面Rest API示例ElasticsearchRESTAPI
- Flask框架搭建REST-API服務Flask框架RESTAPI
- Pulsar 入門實戰(6)--Rest APIRESTAPI
- Django REST framework API 指南(23):返回 URLDjangoRESTFrameworkAPI
- Django REST framework API 指南(24):異常DjangoRESTFrameworkAPI
- Django REST framework API 指南(26):測試DjangoRESTFrameworkAPI
- Django REST framework API 指南(16):過濾DjangoRESTFrameworkAPI
- 在 .NET Core 中構建 REST APIRESTAPI
- Elasticsearch 入門實戰(8)--REST API 使用二(Search API)ElasticsearchRESTAPI
- (16) SpringCloud-Eureka的REST API及API擴充套件SpringGCCloudRESTAPI套件
- k8s kubectl top pod報錯error Metrics API not availableK8SErrorAPIAI
- Django REST framework API 指南(5):檢視集DjangoRESTFrameworkAPI
- 影響rest api版本選擇的因素RESTAPI
- Django REST framework API 指南(12):驗證器DjangoRESTFrameworkAPI
- Django REST framework API 指南(14):許可權DjangoRESTFrameworkAPI
- Django REST framework API 指南(9):序列化DjangoRESTFrameworkAPI
- 使用JBang構建Spring Boot Rest API教程Spring BootRESTAPI
- SpringBoot:Java High Level REST Client 搜尋 APISpring BootJavaRESTclientAPI