Spark Documentation 문서 번역을 한 번 해보려고 한다.

눈가락번역기의 번역 상태가 많이 좋지 않으니 양해 바람.

 

 

 

번역 대상 문서 : https://spark.apache.org/docs/latest/monitoring.html

 

 

REST API

In addition to viewing the metrics in the UI, they are also available as JSON.

추가로 UI 에서 metric 을 보기 위해 JSON 형태의 데이터를 주고받을 수 있는 API 를 제공한다. 

This gives developers an easy way to create new visualizations and monitoring tools for Spark.

이러한 특징은 개발자들이 새로운 스파크 대시보드나 모니터링 툴 등을 생성하는 일을 쉽게 해준다.

The JSON is available for both running applications, and in the history server.

Rest API 는 History Server 와 실행중인 application 두 군데에서 제공한다.

The endpoints are mounted at /api/v1.

엔드포인트는 /api/v1 에 마운트된다.

For example, for the history server, they would typically be accessible at http://<server-url>:18080/api/v1, and for a running application, at http://localhost:4040/api/v1.

예를 들어, History Server 는 일반적으로 <server-url>:18080/api/v1 으로 접근 가능한 API 를 제공하고, 

동작중인 application 은 :4040/api/v1 으로 접근 가능한 API 를 제공한다.

In the API, an application is referenced by its application ID, [app-id].

API 에서, application 은 application ID 에 의해 참조되어진다.

When running on YARN, each application may have multiple attempts, but there are attempt IDs only for applications in cluster mode, not applications in client mode. 

YARN 에서 동작할 때, 각 application 은 많은 attempts 들을 갖게 된다. client mode 가 아닌 cluster mode 에서 동작하는 applications 에 대한 attempt IDs 가 존재한다.

Applications in YARN cluster mode can be identified by their [attempt-id].

YARN cluster mode 에서 동작하는 application 은 그들의 attempt id 에 의해 특정지어질 수 있다.

In the API listed below, when running in YARN cluster mode, [app-id] will actually be [base-app-id]/[attempt-id], where [base-app-id] is the YARN application ID.

아래 리스트된 API 목록에서, YARN Cluster mode 로 동작중이라면, [app-id] 는 [base-app-id]/[attempt-id] 를 의미하며 여기서 말하는 base-app-id 는 YARN application ID 를 뜻한다.

 

The number of jobs and stages which can be retrieved is constrained by the same retention mechanism of the standalone Spark UI; 

검색 가능한 job 과 stage 의 개수는 standalone Spark UI 의 보존 메커니즘에 의해 그 개수가 제한된다.

"spark.ui.retainedJobs" defines the threshold value triggering garbage collection on jobs, and spark.ui.retainedStages that for stages.

spark.ui.retainedJobs 은 threshold 값을 정의하는데, 이것은 job 의 GC를 트리거한다.

spark.ui.retainedStages 도 비슷한 역할을 한다.

Note that the garbage collection takes place on playback: it is possible to retrieve more entries by increasing these values and restarting the history server.

이 값들을 증가시키고 History Server 를 재시작함으로써 더 많은 항목들을 검색할 수 있게 해준다. 

근데 GC 가 갑자기 왜 튀어나온거야...?

Executor Task Metrics
Executor Task 지표들

The REST API exposes the values of the Task Metrics collected by Spark executors with the granularity of task execution.

Rest API 는 Spark 익스큐터에 의해 수집된 Task Metrics 값들을 아주 세세하게 제공한다.

전세계인이 보는 문서에 granularity 같은 단어는 쓰지 말았으면 좋겠다.

The metrics can be used for performance troubleshooting and workload characterization.

이러한 메트릭들은 작업 부하 확인이나 퍼포먼스, 트러블 슈팅 등에 사용된다.

Executor Metrics
Executor 지표들

Executor-level metrics are sent from each executor to the driver as part of the Heartbeat to describe the performance metrics of Executor itself like JVM heap memory, GC information.

Executor 단의 메트릭들은 각 executor 에서 driver 로 heartbeat 의 일부분으로 전송되며, JVM heap memory, GC 정보같은 Executor 자체 퍼포먼스 메트릭을 얻을 수 있다.

Executor metric values and their measured memory peak values per executor are exposed via the REST API in JSON format and in Prometheus format.

Executor 지표값과 Executor 에서 측정된 executor 당 memory 최대 사용률 등의 정보는 REST API 를 통해 JSON 포맷과 Prometheus 포맷으로 제공된다.

The JSON end point is exposed at: /applications/[app-id]/executors, and the Prometheus endpoint at: /metrics/executors/prometheus.

JSON 엔드포인트는 /applications/[app-id]/executors 이며,

Prometheus 엔드포인트는 /metrics/executors/prometheus 이다.

The Prometheus endpoint is conditional to a configuration parameter: spark.ui.prometheus.enabled=true (the default is false). 

Prometheus 엔드포인트는 파라미터에 조건이 걸려있다. spark.ui.prometheus.enabled=true 로 설정해주어야 한다. 기본은 false

In addition, aggregated per-stage peak values of the executor memory metrics are written to the event log if spark.eventLog.logStageExecutorMetrics is true.

추가로, spark.eventLog.logStageExecutorMetrics 가 true 로 설정되어있다면, executor memory 메트릭의 stage 당 최대집계값은 이벤트 로그에 쓰여진다.
Executor memory metrics are also exposed via the Spark metrics system based on the Dropwizard metrics library

Executor 메모리 메트릭은 Dropwizard metrics library 기반의 Spark 메트릭 시스템을 통해 노출된다. 

 

 

 

 

 

 

+ Recent posts