Halaman ini menjelaskan urutan langkah-langkah yang terlibat dalam pengiriman, eksekusi, dan penyelesaian tugas Dataproc. Bagian ini juga membahas throttling dan proses debug pekerjaan.
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
akan 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
akan ditandai sebagai
- Setelah tugas diperoleh oleh agen, agen akan memverifikasi bahwa ada
resource yang memadai di node master cluster Dataproc
untuk memulai driver.
- Jika resource yang memadai tidak tersedia, tugas akan tertunda (dibatasi).
JobStatus.Substate
menampilkan tugas sebagai
QUEUED
, dan Job.JobStatus.details memberikan informasi tentang penyebab keterlambatan.
- Jika resource yang memadai tidak tersedia, tugas akan tertunda (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 tugas startup 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). - Aplikasi benang selesai.
- Tugas terus dilaporkan sebagai
RUNNING
saat driver melakukan tugas penyelesaian tugas, seperti mewujudkan koleksi. - Kegagalan yang tidak ditangani atau tidak tertangkap di Thread utama dapat membuat
driver berada dalam status zombie (ditandai sebagai
RUNNING
tanpa informasi tentang 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 membuat cluster. Jika nilai properti ini tidak ditetapkan,
batas atas 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 berikutnya
- Lihat Memecahkan masalah tugas