Halaman ini menjelaskan urutan langkah-langkah yang terkait dengan pengiriman, eksekusi, dan penyelesaian tugas Dataproc. Bagian ini juga membahas pembatasan dan proses debug tugas.
Alur tugas Dataproc
- Pengguna mengirimkan tugas ke Dataproc.
- JobStatus.State
ditandai sebagai
PENDING
.
- JobStatus.State
ditandai sebagai
- Tugas menunggu untuk diperoleh 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
ERROR
.
- Jika tugas diperoleh,
JobStatus.State
ditandai sebagai
- Setelah tugas diambil oleh agen, agen akan memverifikasi bahwa ada
resource yang cukup tersedia di node master cluster Dataproc
untuk memulai driver.
- Jika resource yang memadai tidak tersedia, tugas akan ditunda (dibatasi).
JobStatus.Substate
menampilkan tugas sebagai
QUEUED
, dan Job.JobStatus.details memberikan informasi tentang penyebab keterlambatan.
- Jika resource yang memadai tidak tersedia, tugas akan ditunda (dibatasi).
JobStatus.Substate
menampilkan tugas sebagai
- Jika resource yang memadai tersedia, 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 driver selesai memindai direktori Cloud Storage atau melakukan tugas start-up lainnya.
- Agen
dataproc
secara berkala mengirimkan update ke Dataproc tentang progres tugas, metrik cluster, dan aplikasi Yarn yang terkait dengan tugas (lihat Pemantauan dan proses debug tugas). - Penerapan Yarn selesai.
- Tugas terus dilaporkan sebagai
RUNNING
saat driver melakukan tugas penyelesaian pekerjaan apa pun, seperti mewujudkan kumpulan. - Kegagalan yang tidak tertangani atau tidak tertangkap di thread Utama dapat membuat
driver dalam status zombie (ditandai sebagai
RUNNING
tanpa informasi mengenai penyebab kegagalan).
- Tugas terus dilaporkan sebagai
- Pengemudi keluar.
Agen
dataproc
melaporkan penyelesaian ke Dataproc.- Dataproc melaporkan tugas sebagai
DONE
.
- Dataproc melaporkan tugas sebagai
Konkurensi tugas
Anda dapat mengonfigurasi jumlah maksimum tugas Dataproc serentak dengan properti cluster
dataproc:dataproc.scheduler.max-concurrent-jobs
saat Anda membuat cluster. Jika nilai properti ini tidak ditetapkan,
batas atas untuk tugas serentak dihitung sebagai
max((masterMemoryMb - 3584) / masterMemoryMbPerJob, 5)
. masterMemoryMb
ditentukan oleh jenis mesin VM master. masterMemoryMbPerJob
adalah
1024
secara default, tetapi dapat dikonfigurasi saat pembuatan cluster dengan properti cluster
dataproc:dataproc.scheduler.driver-size-mb.
Langkah selanjutnya
- Lihat Memecahkan masalah tugas