이 페이지에서는 Dataproc 작업 예약이 지연되는 일반적인 원인과 이를 방지하는 데 도움이 되는 정보가 나열되어 있습니다.
개요
다음은 Dataproc 작업이 지연(제한)되는 일반적인 이유입니다.
- 실행 중인 작업이 너무 많음
- 시스템 메모리 사용량이 높음
- 사용 가능한 메모리 부족
- 비율 제한 초과
일반적으로 작업 지연 메시지는 다음 형식으로 제공됩니다.
Awaiting execution [SCHEDULER_MESSAGE]"
다음 섹션에서는 특정 작업 지연 시나리오에 대한 가능한 원인과 해결 방법에 대해 다룹니다.
실행 중인 작업이 너무 많음
스케줄러 메시지:
Throttling job ### (and maybe others): Too many running jobs (current=xx max=xx)
원인:
마스터 VM 메모리를 기반으로 하는 최대 동시 작업 수를 초과했습니다(작업 드라이버는 Dataproc 클러스터 마스터 VM에서 실행됩니다). 기본적으로 Dataproc은 애플리케이션용으로 3.5GB의 메모리를 예약하고 GB당 작업 1개를 허용합니다.
예시: n1-standard-4
머신 유형에 15GB
메모리가 있습니다. 오버헤드용으로 3.5GB
가 예약되면 11.5GB
가 남습니다. 11GB
로 동시에 작업할 수 있는 작업의 개수는 정수로 내림하면 최대 11개입니다.
해결책:
CPU 사용량 및 메모리와 같은 로그 측정항목을 모니터링하여 작업 요구사항을 추정합니다.
작업 클러스터를 만들 때 다음과 같이 하세요.
시스템 메모리가 높거나 사용 가능한 메모리가 충분하지 않음
스케줄러 메시지:
Throttling job xxx_____JOBID_____xxx (and maybe others): High system memory usage (current=xx%)
Throttling job xxx_____JOBID_____xxx (and maybe others): Not enough free memory (current=xx min=xx)
원인:
기본적으로 Dataproc 에이전트는 메모리 사용량이 90%(0.9)
)에 도달하면 작업 제출을 제한합니다. 이 한도에 도달하면 새 작업을 예약할 수 없습니다.
클러스터에서 다른 작업을 예약하는 데 필요한 여유 메모리 양이 충분하지 않습니다.
솔루션:
클러스터를 만들 때 다음과 같이 하세요.
작업 비율 제한 초과
스케줄러 메시지:
Throttling job xxx__JOBID___xxx (and maybe others): Rate limit
원인:
Dataproc 에이전트가 작업 제출 속도 한도에 도달했습니다.
해결책:
- 기본적으로 Dataproc 에이전트 작업 제출은
1.0 QPS
로 제한됩니다. 이 값은dataproc:dataproc.scheduler.job-submission-rate
클러스터 속성을 사용하여 클러스터를 만들 때 다른 값으로 설정할 수 있습니다.
작업 상태 보기
작업 상태 및 세부정보를 보려면 작업 모니터링 및 디버깅을 참조하세요.