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 konsol Google Cloud 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, lihat Melihat output tugas.

REST API

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

Konsol

Untuk melihat output driver tugas, lihat Melihat output tugas.

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

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

Melihat log tugas di Logging

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

Menentukan siapa yang mengirimkan tugas

Mencari detail tugas akan menampilkan siapa yang mengirimkan tugas tersebut di kolom submittedBy. Misalnya, output tugas ini menunjukkan user@domain 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

Hal ini menunjukkan bahwa agen Dataproc di node master tidak dapat memperoleh tugas dari bidang kontrol. Hal ini sering terjadi karena masalah kehabisan memori (OOM) atau jaringan. Jika tugas berhasil berjalan sebelumnya dan Anda belum mengubah setelan konfigurasi jaringan, OOM adalah penyebab yang paling mungkin, sering kali merupakan hasil pengiriman banyak tugas yang berjalan secara serentak atau tugas yang driver-nya menggunakan memori yang signifikan (misalnya, tugas yang memuat set data besar ke dalam memori).

Tidak ada agen di node master yang ditemukan aktif

Hal ini menunjukkan bahwa agen Dataproc di node master tidak aktif dan tidak dapat menerima tugas baru. Hal ini sering terjadi karena masalah kehabisan memori (OOM) atau jaringan, atau jika VM node master tidak sehat. Jika tugas berhasil dijalankan sebelumnya dan Anda belum mengubah setelan konfigurasi jaringan, OOM adalah penyebab yang paling mungkin, yang sering kali dihasilkan dari pengiriman banyak tugas yang berjalan secara serentak atau tugas yang driver-nya menggunakan memori yang signifikan (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

Error ini menunjukkan bahwa cluster dihapus saat tugas sedang berjalan. Anda dapat melakukan tindakan berikut untuk mengidentifikasi akun utama yang melakukan penghapusan dan mengonfirmasi bahwa penghapusan cluster terjadi saat tugas sedang berjalan:

  • Lihat log audit Dataproc untuk mengidentifikasi akun utama yang melakukan operasi penghapusan.

  • Gunakan Logging atau gcloud CLI untuk memeriksa apakah status terakhir yang diketahui dari aplikasi YARN adalah RUNNING:

    • Gunakan filter berikut di Logging:
    resource.type="cloud_dataproc_cluster"
    resource.labels.cluster_name="CLUSTER_NAME"
    resource.labels.cluster_uuid="CLUSTER_UUID"
    "YARN_APPLICATION_ID State change from"
    
    • Jalankan gcloud dataproc jobs describe job-id --region=REGION, lalu periksa yarnApplications: > STATE dalam output.

Untuk menghindari error Task not found, gunakan otomatisasi untuk memastikan cluster tidak dihapus sebelum semua tugas yang sedang berjalan selesai.