Spark 히스토리 서버
IBM Analytics Engine 인스턴스에서 제출된 Spark 애플리케이션은 인스턴스 홈으로 정의된 Object Storage 버킷으로 Spark 이벤트를 전달합니다. Spark 히스토리 서버는 이러한 Spark 이벤트를 보기 위한 Web UI 를 제공합니다. Web UI 는 다음과 같은 유용한 정보를 표시하여 Spark 애플리케이션이 실행되는 방법을 분석하는 데 도움을 줍니다.
- 애플리케이션이 실행될 때 거치는 스테이지 목록
- 각 스테이지의 작업 수
- 실행 중인 실행 프로그램 및 메모리 사용량과 같은 구성 세부사항
자세한 정보는 Spark 히스토리 서버 문서 를 참조하십시오.
Spark 애플리케이션 구성에서 spark.eventLog.enabled 특성을 false 로 설정하여 Spark 애플리케이션에서 Spark 이벤트 전달을 사용 안함으로 설정할 수 있습니다.
Spark 히스토리 서버 시작 및 중지
Spark 히스토리 서버에 액세스하기 전에 서버를 시작해야 합니다. 더 이상 필요하지 않으면 서버를 중지해야 합니다. Spark 히스토리 서버가 실행 중인 동안 사용하는 CPU 코어 및 메모리에 대해 비용이 청구됩니다.
다음을 사용하여 Spark 히스토리 서버를 시작하고 중지할 수 있습니다.
Analytics Engine REST API
Analytics Engine REST API를 사용할 수 있습니다.
-
Spark 히스토리 서버의 상태를 보려면 다음을 수행하십시오.
curl "https://api.us-south.ae.cloud.ibm.com/v3/analytics_engines/<instance_id>/spark_history_server" --header "Authorization: bearer <iam token>" -
Spark 히스토리 서버를 시작하려면 다음을 수행하십시오.
curl --location --request POST "https://api.us-south.ae.cloud.ibm.com/v3/analytics_engines/<instance_id>/spark_history_server" --header "Authorization: bearer <iam token>" -
Spark 히스토리 서버를 중지하려면 다음을 수행하십시오.
curl --location --request DELETE "https://api.us-south.ae.cloud.ibm.com/v3/analytics_engines/<instance_id>/spark_history_server" --header "Authorization: bearer <iam token>"
Analytics Engine 인스턴스 UI
Analytics Engine 인스턴스 UI를 사용할 수 있습니다.
-
Spark 히스토리 서버 상태를 보려면 다음을 수행하십시오.
- IBM Cloud에서 리소스 목록을 여십시오.
- 서비스 및 소프트웨어 를 클릭하고 인스턴스를 선택하여 세부사항 페이지를 여십시오.
- Spark 히스토리 탭을 선택하십시오. 서버의 현재 상태가 이 페이지에 표시됩니다.
Spark 히스토리 서버의 상태가
Started로 설정된 경우 Spark 히스토리 보기 를 클릭하여 새 브라우저 탭에서 Spark 히스토리 서버의 Web UI 를 실행할 수도 있습니다. -
Spark 히스토리 서버를 시작하려면 다음을 수행하십시오.
Spark history페이지에서 히스토리 서버 시작을 클릭하십시오.- 서버 구성을 선택하고 시작 을 클릭하여 Spark 히스토리 서버를 시작하십시오.
-
Spark 히스토리 서버를 중지하려면 다음을 수행하십시오.
Spark history페이지에서 히스토리 서버 중지를 클릭하십시오.
Spark 히스토리 서버 Web UI 열기
Analytics Engine 서비스 인스턴스의 인스턴스 세부사항 페이지를 열고 Spark 히스토리 탭으로 전환한 후 Spark 히스토리 보기를 클릭하여 Spark 히스토리 Web UI 를 열 수 있습니다.
또는 Spark 히스토리 서버 Web UI URL은 서비스 키 (서비스 신임 정보라고도 함) 로 사용할 수 있는 서비스 엔드포인트를 통해 얻을 수 있습니다. 서비스 엔드포인트 검색을 참조하십시오.
Web UI를 열기 전에 Spark 히스토리 서버가 실행 중인지 확인하십시오.
Spark 히스토리 서버 UI의 스테이지 및 실행기 탭 아래에 있는 로그 링크는 로그가 Spark 이벤트와 함께 유지되지 않으므로 작동하지 않습니다. 태스크 및 실행 프로그램 로그를 검토하려면 플랫폼 로깅을 사용으로 설정하십시오. 세부사항은 로그 구성 및 보기를 참조하십시오.
Spark 히스토리 서버 UI에서 이전 애플리케이션을 보려면 다음 명령을 사용하여 이전 경로에서 새 경로로 spark-events를 복사하십시오. ibmcloud cos object-copy -- bucket < destination_bucket> -- 키
Spark 히스토리 서버 REST API에 액세스
웹 UI외에도 Spark 히스토리 서버는 Spark 애플리케이션에서 생성된 Spark 이벤트를 보기 위해 조회할 수 있는 REST API도 제공합니다. Spark 히스토리 서버 REST API는 서비스 키 (서비스 신임 정보라고도 함) 에서 서비스 엔드포인트로 사용 가능합니다. 서비스 엔드포인트 검색을 참조하십시오.
Spark 히스토리 서버 REST API를 호출할 때 권한 헤더에서 IAM 토큰을 베어러 토큰으로 지정해야 합니다. E.g.
curl --location --request GET 'https://spark-console.us-south.ae.cloud.ibm.com/v3/analytics_engines/<instance id>/spark_history_api/v1/applications?status=completed' \
--header 'Authorization: Bearer <iam token>'
자세한 정보는 Spark 히스토리 서버 REST API 문서 를 참조하십시오.
Spark 히스토리 서버 사용자 정의
기본적으로 Spark 히스토리 서버는 실행 중에 1개의 CPU 코어와 4개의 GiB 메모리를 사용합니다. Spark 히스토리 서버가 더 많은 자원을 사용하도록 하려는 경우 Analytics Engine 인스턴스 기본 구성에서 다음 특성을 설정할 수 있습니다.
- CPU 코어 수의 경우
ae.spark.history-server.cores ae.spark.history-server.memory-메모리 양
REST API를 사용하여 CPU 코어 및 메모리 설정 업데이트
다음과 같이 Analytics Engine REST API를 사용하여 CPU 코어 및 메모리 설정을 업데이트할 수 있습니다.
curl --location --request PATCH "https://api.us-south.ae.cloud.ibm.com/v3/analytics_engines/<instance_id>/default_configs" \
--header "Authorization: bearer <iam_token>" \
--header 'Content-Type: application/json' \
--data-raw '{
"ae.spark.history-server.cores": "2",
"ae.spark.history-server.memory": "8G"
}'
Spark 드라이버 및 실행 프로그램 vCPU의 사전 정의된 목록과 메모리 크기 조합만 지원됩니다. 지원되는 Spark 드라이버 및 실행 프로그램 vCPU 및 메모리 조합 을 참조하십시오.
추가 사용자 정의
Analytics Engine 인스턴스의 기본 Spark 구성에 특성을 추가하여 Spark 히스토리 서버를 추가로 사용자 정의할 수 있습니다. 표준 Spark 히스토리 구성 옵션을 참조하십시오.
이 오퍼링은 관리 오퍼링이므로 모든 표준 Spark 구성 옵션을 사용자 정의할 수 없습니다.
설정에 대해 지원되는 구성 및 기본값 목록은 기본 Spark 구성 을 참조하십시오.
우수 사례
더 이상 사용할 필요가 없으면 항상 Spark 히스토리 서버를 중지하십시오. Spark 히스토리 서버는 상태가 Started 인 동안 계속해서 CPU및 메모리 자원을 사용합니다.