Halaman ini menjelaskan urutan langkah-langkah yang terkait dengan pengiriman, eksekusi, dan penyelesaian tugas Dataproc. Bagian ini juga membahas throttling tugas dan proses debug.
Alur tugas Dataproc
- Pengguna mengirimkan tugas ke Dataproc.
- JobStatus.State
ditandai sebagai
PENDING
.
- JobStatus.State
ditandai sebagai
- Tugas menunggu untuk diakuisisi oleh agen
dataproc
.- Jika tugas diperoleh,
JobStatus.State
ditandai sebagai
RUNNING
. - Jika tugas tidak diperoleh karena kegagalan agen, kegagalan jaringan Compute Engine, atau penyebab lainnya, tugas akan ditandai sebagai
ERROR
.
- Jika tugas diperoleh,
JobStatus.State
ditandai sebagai
- Setelah tugas diperoleh oleh agen, agen akan memverifikasi bahwa resource yang tersedia di node master cluster Dataproc sudah memadai untuk memulai driver.
- Jika sumber daya yang memadai tidak tersedia, tugas akan ditunda (di-throttle).
JobStatus.Substate
menampilkan tugas sebagai
QUEUED
, dan Job.JobStatus.details memberikan informasi tentang penyebab penundaan.
- Jika sumber daya yang memadai tidak tersedia, tugas akan ditunda (di-throttle).
JobStatus.Substate
menampilkan tugas sebagai
- Jika tersedia resource yang cukup, agen
dataproc
akan memulai proses driver tugas.- Pada tahap ini, biasanya ada satu atau beberapa aplikasi yang berjalan di Apache Hadoop YARN. Namun, aplikasi Yarn mungkin tidak dimulai hingga pengemudi selesai memindai direktori Cloud Storage atau melakukan tugas tugas start-up lainnya.
- Agen
dataproc
secara berkala mengirimkan pembaruan ke Dataproc tentang progres tugas, metrik cluster, dan aplikasi Yarn yang terkait dengan tugas tersebut (lihat Pemantauan dan proses debug tugas). - Aplikasi benang selesai.
- Tugas terus dilaporkan sebagai
RUNNING
saat pengemudi melakukan tugas penyelesaian tugas apa pun, seperti merealisasikan koleksi. - Kegagalan yang tidak tertangani atau tidak tertangkap di thread Utama dapat menyebabkan
driver dalam status zombie (ditandai sebagai
RUNNING
tanpa informasi mengenai penyebab kegagalan).
- Tugas terus dilaporkan sebagai
- Pengemudi keluar.
dataproc
agen melaporkan penyelesaian ke Dataproc.- Dataproc melaporkan tugas sebagai
DONE
.
- Dataproc melaporkan tugas sebagai
Konkurensi pekerjaan
Anda dapat mengonfigurasi jumlah maksimum tugas Dataproc serentak dengan properti cluster dataproc:dataproc.scheduler.max-concurrent-jobs saat membuat cluster. Jika nilai properti ini tidak ditetapkan,
batas atas pada tugas serentak dihitung sebagai
max((masterMemoryMb - 3584) / masterMemoryMbPerJob, 5)
. masterMemoryMb
ditentukan oleh jenis mesin VM master. masterMemoryMbPerJob
ditetapkan ke 1024
secara default, tetapi dapat dikonfigurasi saat pembuatan cluster dengan properti cluster dataproc:dataproc.scheduler.driver-size-mb.
Langkah berikutnya
- Lihat Memecahkan masalah tugas