Spark 작업 드라이버 로그에 접근하기
해당 Spark 작업 드라이버 로그에 접근하여 Analytics Engine powered by Apache Spark 확인할 수 있습니다.
사용하는 방법은 구성에 Analytics Engine powered by Apache Spark 따라 다릅니다:
저장소에 지속 저장된 드라이버 로그 다운로드
서비스 인스턴스에 Spark 고급 기능이 활성화되지 않은 경우, Spark 작업 드라이버 로그는 스토리지에서 다운로드해야만 확인할 수 있습니다.
고급 기능을 활성화하지 않은 경우 디버깅 목적으로 Spark 작업 드라이버 로그를 다운로드하려면:
Spark 작업 V4 엔드포인트에서 Spark 인스턴스 ID를 가져옵니다. 엔드포인트의 형식은 다음과 같습니다:
https://<CloudPakforData_URL>/v4/analytics_engines/<INSTANCE_ID>/spark_applications. 엔드포인트를 찾는 방법에 대한 자세한 내용은 인스턴스 Analytics Engine powered by Apache Spark 관리를 참조하십시오.액세스 토큰을 획득하거나 생성하십시오. API 인증 토큰 생성하기를 참조하십시오. 토큰을 변수에 내보내기:
export TOKEN=<token_generated>인스턴스 ID와 볼륨 이름을 설정합니다:
export Instance_id=<instance_id_from_step_1> export Application_id=<application_id> export Volume_name=<name of volume associated with instance> export CloudPakforData_URL=<zen_route>클러스터에서 다음
oc get routes -n ${PROJECT_CPD_INST_OPERANDS}명령어를 실행하여 CLOUDPAKFORDATA_URL을 확인하세요.파일 서버를 시작하십시오:
curl -k -X POST https://${CloudPakforData_URL}/zen-data/v1/volumes/volume_services/${Volume_name} -H "Authorization: ZenApiKey ${TOKEN}" -H 'Content-Type: application/json' -d '{}'409 오류가 발생하면 파일 서버가 이미 시작되었음을 의미합니다. 이 오류는 무시하고 다음 단계로 진행할 수 있습니다.
로그 파일을 다운로드하십시오. 로그 파일은 다음 경로에 저장됩니다:
<Instance_id>/<Application_id>/logs/spark-driver-<Application_id>-stdout.export File_path=$Instance_id%2F$Application_id%2Flogs%2Fspark-driver-$Application_id-stdout curl -ivk -X GET https://${CloudPakforData_URL}/zen-volumes/${Volume_name}/v1/volumes/files/${File_path} -H "Authorization: ZenApiKey ${TOKEN}" -H 'cache-control: no-cache'파일 서버를 중지하십시오:
curl -k -X DELETE https://${CloudPakforData_URL}/zen-data/v1/volumes/volume_services/${Volume_name} -H "Authorization: ZenApiKey ${TOKEN}" -H 'Content-Type: application/json' -d '{}'
저장된 파일 작업에 대한 자세한 내용은 볼륨 API를 사용한 지속적 볼륨 인스턴스 관리를 참조하십시오.
Spark 고급 기능 활성화 상태에서 로그 다운로드
인스턴스에 Spark 고급 기능이 활성화된 경우 디버깅 목적으로 Spark 작업 드라이버 로그를 확인하거나 다운로드할 수 있습니다. Spark 고급 기능 활성화에 대한 자세한 내용은 고급 기능 사용을 참조하십시오.
로그는 두 가지 방법으로 다운로드할 수 있습니다:
웹 IBM Cloud Pak for Data 클라이언트를 통해
- 탐색 메뉴에서 서비스 >
인스턴스를 클릭한 후, 해당 인스턴스를 찾아 클릭하여 인스턴스 세부 정보를 확인합니다.
- 인스턴스 세부 정보 페이지 오른쪽의 를
클릭하고 배포 공간을 선택하면 작업 탭에서 배포 공간이 열리며, 여기서 Spark 작업을 확인할 수 있습니다. - 작업을 클릭하면 작업 실행 내역을 볼 수 있습니다. 완료된 작업의 성능 지표, 파티션 및 실행 계획은 Spark 히스토리 서버에서 확인할 수 있습니다. Spark 히스토리 서버에 접근하는 방법을 참조하십시오.
- 작업 실행을 클릭하면 실행 세부 정보와 로그 꼬리를 볼 수 있습니다. 실행에 대한 전체 로그를 다운로드하려면 로그 다운로드를 클릭하세요.
- 탐색 메뉴에서 서비스 >
Spark
REST API를 통해
배포 공간의 이름을 가져옵니다.
- 탐색
메뉴에서 서비스 > Cloud Pak for Data 인스턴스를 클릭하고, 해당 인스턴스를 찾아 클릭하여 인스턴스 세부 정보를 확인하세요.
- 배포 공간 이름을 기록해 두십시오.
- 탐색
다음 값들을 내보내십시오. 작업 ID는 작업 POST 응답에 포함되어 있습니다.
export CLOUDPAKFORDATA_URL=<CloudPakforData_URL> export SPACE_NAME=<space_name> export APPLICATIONID=<application_id>서비스 인스턴스에 대한 액세스 토큰을 가져옵니다. API 인증 토큰 생성하기를 참조하십시오.
액세스 토큰을 변수에 내보내기:
export TOKEN=<ACCESS_TOKEN>다음을 실행하십시오.
SPACE_ID=$(curl -k -X GET https://$CLOUDPAKFORDATA_URL/v2/spaces?name=$SPACE_NAME -H 'content-type:application/json' -H "Authorization: ZenApiKey ${TOKEN}" | python3 -c "import json, sys; print(json.load(sys.stdin)['resources'][0]['metadata']['id'])") curl -ivk https://$CLOUDPAKFORDATA_URL/v2/asset_files/runtimes%2Fspark%2F$APPLICATIONID%2Flogs%2Fspark-driver-$APPLICATIONID-stdout?space_id=$SPACE_ID -H "accept: application/json" -H "Authorization: ZenApiKey ${TOKEN}"