Cloud Profiler는 애플리케이션 CPU 사용량과 메모리 할당 정보를 지속적으로 수집하고 보고합니다.
요구사항:
Profiler는 Dataproc Hadoop 및 Spark 작업 유형(Spark, PySpark, SparkSql, SparkR)만 지원합니다.
Profiler가 데이터를 수집하고 프로젝트에 업로드하려면 작업이 3분 넘게 실행되어야 합니다.
Dataproc은 cloud.profiler.enable
및 다른 cloud.profiler.*
속성(Profiler 옵션 참조)을 인식한 후 관련 프로파일러 JVM 옵션을 다음 구성에 추가합니다.
- Spark:
spark.driver.extraJavaOptions
및spark.executor.extraJavaOptions
- 맵리듀스:
mapreduce.task.profile
및 기타mapreduce.task.profile.*
속성
프로파일링 사용 설정
Dataproc Spark 및 Hadoop 작업에서 Profiler를 사용 설정하고 사용하려면 다음 단계를 완료하세요.
클러스터가 프로파일러 서비스와 통신할 수 있도록 서비스 계정 범위가
monitoring
으로 설정된 Dataproc 클러스터를 만듭니다.커스텀 VM 서비스 계정을 사용하는 경우 커스텀 VM 서비스 계정에 Cloud Profiler Agent 역할을 부여합니다. 이 역할에는 필요한 프로파일러 서비스 권한이 포함되어 있습니다.
gcloud
gcloud dataproc clusters create cluster-name \ --scopes=cloud-platform \ --region=region \ other args ...
Profiler 옵션으로 Dataproc 작업 제출
- 다음 Profiler 옵션 중 하나 이상을 사용하여 Dataproc Spark 또는 Hadoop 작업을 제출합니다.
옵션 설명 값 필수/선택사항 기본값 참고 cloud.profiler.enable
작업 프로파일링 사용 설정 true
또는false
필수 false
cloud.profiler.name
Profiler 서비스에서 프로필을 만드는 데 사용되는 이름 profile-name 선택사항 Dataproc 작업 UUID cloud.profiler.service.version
프로파일러 결과를 식별하고 구분하는 사용자 제공 문자열 Profiler Service Version 선택사항 Dataproc 작업 UUID mapreduce.task.profile.maps
프로파일링할 매핑 작업의 숫자 범위(예시: 최대 100의 경우 '0~100' 지정) number range 선택사항 0-10000 Hadoop 맵리듀스 작업에만 적용 mapreduce.task.profile.reduces
프로파일링할 감소기 작업의 숫자 범위(예시: 최대 100의 경우 '0~100' 지정) number range 선택사항 0-10000 Hadoop 맵리듀스 작업에만 적용
PySpark 예시
Google Cloud CLI
프로파일링 예시를 사용한 PySpark 작업 제출:
gcloud dataproc jobs submit pyspark python-job-file \ --cluster=cluster-name \ --region=region \ --properties=cloud.profiler.enable=true,cloud.profiler.name=profiler_name,cloud.profiler.service.version=version \ -- job args
두 개의 프로필이 생성됩니다.
- Spark 드라이버 작업을 프로파일링하는
profiler_name-driver
- Spark Executor 작업을 프로파일링하는
profiler_name-executor
예를 들어 profiler_name
이 'spark_word_count_job'이면 spark_word_count_job-driver
및 spark_word_count_job-executor
프로필이 생성됩니다.
Hadoop 예시
gcloud CLI
프로파일링 예시를 사용한 Hadoop(teragen mapreduce) 작업 제출:
gcloud dataproc jobs submit hadoop \ --cluster=cluster-name \ --region=region \ --jar=jar-file \ --properties=cloud.profiler.enable=true,cloud.profiler.name=profiler_name,cloud.profiler.service.version=version \ -- teragen 100000 gs://bucket-name
프로필 보기
Google Cloud 콘솔의 Profiler에서 프로필을 확인합니다.
다음 단계
- Monitoring 문서를 참조하세요.
- 로깅 문서를 참조하세요.
- Google Cloud Observability 살펴보기