Memecahkan masalah tugas Dataproc

Halaman ini memberikan informasi untuk membantu Anda memantau dan men-debug tugas Dataproc serta memahami pesan error tugas Dataproc.

Pemantauan dan proses debug tugas

Gunakan Google Cloud CLI, Dataproc REST API, dan Google Cloud Console untuk menganalisis dan men-debug tugas Dataproc.

gcloud CLI

Untuk memeriksa status tugas yang sedang berjalan:

gcloud dataproc jobs describe job-id \
    --region=region

Untuk melihat output driver tugas, buka Melihat output tugas.

REST API

Panggil jobs.get untuk memeriksa kolom JobStatus.State, JobStatus.Substate, JobStatus.details, dan YarnApplication pada tugas.

Konsol

Untuk melihat output driver tugas, buka Melihat output tugas.

Untuk melihat log agen dataproc di Logging, pilih Cluster Dataproc→Cluster Name→Cluster UUID dari pemilih cluster Logs Explorer.

Lalu, gunakan pemilih log untuk memilih log google.dataproc.agent.

Lihat log tugas di Logging

Jika tugas gagal, Anda dapat mengakses log tugas di Logging.

Menentukan siapa yang mengirimkan pekerjaan

Mencari detail tugas akan menampilkan siapa yang mengirimkan tugas tersebut di kolom submittedBy. Misalnya, output tugas ini menunjukkan user@domain yang mengirimkan contoh tugas ke cluster.

...
placement:
  clusterName: cluster-name
  clusterUuid: cluster-uuid
reference:
  jobId: job-uuid
  projectId: project
status:
  state: DONE
  stateStartTime: '2018-11-01T00:53:37.599Z'
statusHistory:
- state: PENDING
  stateStartTime: '2018-11-01T00:33:41.387Z'
- state: SETUP_DONE
  stateStartTime: '2018-11-01T00:33:41.765Z'
- details: Agent reported job success
  state: RUNNING
  stateStartTime: '2018-11-01T00:33:42.146Z'
submittedBy: user@domain

Pesan error

  • Tugas tidak diperoleh: Menunjukkan bahwa agen Dataproc pada node master tidak dapat memperoleh tugas dari bidang kontrol. Hal ini sering terjadi karena kehabisan memori (OOM) atau masalah jaringan. Jika tugas berhasil dijalankan sebelumnya dan Anda belum mengubah setelan konfigurasi jaringan, OOM adalah kemungkinan besar penyebabnya, sering kali adalah hasil dari pengiriman banyak tugas yang berjalan serentak atau tugas yang drivernya mengonsumsi banyak memori dalam jumlah besar (misalnya, tugas yang memuat set data besar ke memori).

  • Tidak ada agen di node master yang ditemukan untuk aktif: Menunjukkan bahwa agen Dataproc di node master tidak aktif dan tidak dapat menerima tugas baru. Hal ini sering terjadi karena kehabisan memori (OOM) atau masalah jaringan, atau jika VM node master tidak responsif. Jika tugas tersebut berhasil dijalankan sebelumnya dan Anda belum mengubah setelan konfigurasi jaringan, OOM adalah kemungkinan besarnya. Hal ini sering disebabkan oleh pengiriman banyak tugas yang berjalan bersamaan atau tugas yang drivernya mengonsumsi banyak memori (tugas yang memuat set data besar ke dalam memori). Masalah ini dapat diatasi dengan memulai ulang (menghentikan, lalu memulai) cluster Dataproc atau mencoba lagi pengiriman tugas nanti. Catatan: Menghentikan cluster akan menyebabkan semua tugas yang berjalan gagal.

  • Tugas tidak ditemukan: Menunjukkan bahwa cluster telah dihapus saat tugas sedang berjalan. Untuk membantu menghindari error ini, sebelum mengirimkan tugas, pastikan status cluster adalah RUNNING dengan melihat status cluster di halaman Clusters di konsol Google Cloud, menjalankan perintah gcloud dataproc clusters describe, atau dengan memeriksa ClusterStatus.State menggunakan permintaan API clusters.get.