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 untuk menganalisis dan men-debug tugas Dataproc. Google Cloud

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 JobStatus.State, JobStatus.Substate, JobStatus.details, dan kolom YarnApplication.

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 masalah jaringan. Jika tugas sebelumnya berhasil dijalankan dan Anda tidak mengubah setelan konfigurasi jaringan, OOM adalah penyebab yang paling mungkin terjadi, sering kali akibat pengiriman banyak tugas yang berjalan secara bersamaan atau tugas yang drivernya menggunakan banyak memori (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 masalah 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 terjadi, yang sering kali disebabkan oleh pengiriman banyak tugas yang berjalan secara bersamaan atau tugas yang drivernya menggunakan banyak memori (tugas yang memuat set data besar ke dalam memori).

Untuk membantu menyelesaikan masalah ini, Anda dapat mencoba tindakan berikut:

Tugas tidak ditemukan

Error ini menunjukkan bahwa cluster dihapus saat tugas sedang berjalan. Anda dapat melakukan tindakan berikut untuk mengidentifikasi prinsipal 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.
  • Jika prinsipal yang menghapus cluster adalah akun layanan agen layanan Dataproc, periksa apakah cluster dikonfigurasi dengan durasi penghapusan otomatis yang lebih singkat daripada durasi tugas.

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

Tidak ada ruang tersisa di perangkat

Dataproc menulis data HDFS dan data sementara ke disk. Pesan error ini menunjukkan bahwa cluster dibuat dengan ruang disk yang tidak mencukupi. Untuk menganalisis dan menghindari error ini:

  • Periksa ukuran disk utama cluster yang tercantum di tab Configuration di halaman Cluster details di konsol Google Cloud . Ukuran disk minimum yang direkomendasikan adalah 1000 GB untuk cluster yang menggunakan jenis mesin n1-standard-4 dan 2 TB untuk cluster yang menggunakan jenis mesin n1-standard-32.

  • Jika ukuran disk cluster lebih kecil dari ukuran yang direkomendasikan, buat ulang cluster dengan ukuran disk minimal yang direkomendasikan.

  • Jika ukuran disk adalah ukuran yang direkomendasikan atau lebih besar, gunakan SSH untuk terhubung ke VM master cluster, lalu jalankan df -h di VM master untuk memeriksa pemanfaatan disk guna menentukan apakah ruang disk tambahan diperlukan.

  • Kumpulkan dan periksa metrik disk.