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