Memecahkan Masalah error Pembuatan Cluster

Men-debug masalah pembuatan cluster dengan gcpdiag

gcpdiag adalah alat open source yang dapat membantu mengidentifikasi dan memperbaiki masalah pada project Google Cloud. gcpdiag bukanlah produk Google Cloud yang didukung secara resmi. Untuk mengetahui informasi selengkapnya, lihat project gcpdiag di GitHub.

Perintah ini membantu Anda memecahkan masalah error yang terjadi saat membuat cluster Dataproc di Google Cloud.

Perintah gcpdiag membantu Anda men-debug error berikut:

  • Error kehabisan stok: Mengevaluasi log Logs Explorer terkait kehabisan stok di region/zona.
  • Ketersediaan kuota: Memeriksa ketersediaan kuota di project cluster Dataproc.
  • Konfigurasi jaringan: Melakukan Uji Konektivitas Jaringan, memeriksa aturan firewall yang diperlukan, konfigurasi IP eksternal/internal.
  • Konfigurasi lintas project: Memeriksa apakah akun layanan tidak berada dalam project yang sama dan meninjau penerapan kebijakan organisasi dan peran tambahan.
  • Konfigurasi VPC Bersama: Memeriksa apakah cluster Dataproc menggunakan jaringan VPC Bersama dan mengevaluasi apakah peran akun layanan yang tepat ditambahkan.
  • Kegagalan skrip tindakan init: Mengevaluasi log Logs Explorer terkait kegagalan atau waktu tunggu skrip tindakan init.

Cloud Shell

  1. Salin dan jalankan perintah berikut di Cloud Shell:
    gcpdiag runbook dataproc/cluster-creation \
      --project=PROJECT_ID \
      --parameter cluster_name=CLUSTER_NAME \
      --parameter OPTIONAL FLAGS \

Konsol Google Cloud

  1. Salin perintah berikut:
  2. gcpdiag runbook dataproc/cluster-creation \
      --project=PROJECT_ID \
      --parameter cluster_name=CLUSTER_NAME \
      --parameter OPTIONAL FLAGS \
  3. Buka konsol Google Cloud dan aktifkan Cloud Shell:
  4. Buka Cloud Console
  5. Tempel perintah yang disalin.
  6. Jalankan perintah gcpdiag. Tindakan ini akan mendownload image docker gcpdiag dan mulai menjalankan pemeriksaan yang relevan untuk perintah ini. Ikuti petunjuk cara memperbaiki pemeriksaan yang gagal.

Docker

Anda dapat menjalankan gcpdiag menggunakan wrapper yang memulai gcpdiag di container Docker. Cara ini berfungsi di semua komputer yang menginstal Docker atau Podman.

  1. Salin dan jalankan perintah berikut di workstation lokal Anda:
    curl https://gcpdiag.dev/gcpdiag.sh >gcpdiag && chmod +x gcpdiag
  2. Jalankan perintah gcpdiag:
    ./gcpdiag runbook dataproc/cluster-creation \
      --project=PROJECT_ID \
      --parameter cluster_name=CLUSTER_NAME \
      --parameter OPTIONAL FLAGS \

Lihat semua parameter yang tersedia untuk runbook ini.

Ganti kode berikut:

  • PROJECT_ID: ID project yang berisi resource.
    • CLUSTER_NAME: Nama cluster Dataproc target dalam project Anda.
    • OPTIONAL FLAGS: Anda dapat memberikan parameter tambahan jika cluster telah dihapus dari UI.

      • cluster_uuid: UUID cluster Dataproc target dalam project Anda.
      • service_account: Akun layanan cluster Dataproc digunakan untuk membuat resource.
      • subnetwork: URI Subjaringan cluster Dataproc (jalur lengkap)
      • internal_ip_only: Benar atau Salah
      • cross_project: ID Lintas Project, tempat akun layanan berada jika tidak berada dalam project yang sama dengan cluster Dataproc.

Tanda yang berguna:

  • --project: untuk menentukan PROJECT_ID.
  • --universe-domain: jika berlaku, digunakan untuk menentukan domain Trusted Partner Sovereign Cloud yang menghosting resource.
  • --parameter atau -p: untuk menentukan parameter runbook.

Untuk informasi selengkapnya tentang tanda yang tersedia, lihat petunjuk Penggunaan untuk gcpdiag.

Pesan error pembuatan cluster

Bagian ini mencantumkan pesan error Dataproc, serta penyebab umumnya dan solusinya.

  • Waktu operasi habis: Hanya 0 dari 2 node data/pengelola node minimum yang diperlukan yang berjalan.

    Penyebab: Node master tidak dapat membuat cluster karena tidak dapat berkomunikasi dengan worker node.

    Solusi:

    • Periksa peringatan aturan firewall.
    • Pastikan aturan firewall yang benar telah diterapkan. Untuk mengetahui informasi selengkapnya, baca Ringkasan aturan firewall Dataproc default.
    • Lakukan uji konektivitas di Konsol Google Cloud untuk mengetahui apa yang menghalangi komunikasi antara node master dan worker.
  • Izin compute.subnetworks.use yang diperlukan untuk projects/{projectId}/regions/{region}/subnetworks/{subnetwork}

    Penyebab: Error ini dapat terjadi saat Anda mencoba menyiapkan cluster Dataproc menggunakan jaringan VPC pada project lain dan akun layanan Agen Layanan Dataproc tidak memiliki izin yang diperlukan pada project VPC Bersama yang menghosting jaringan.

    Solusi: Ikuti langkah-langkah yang tercantum dalam artikel Membuat cluster yang menggunakan jaringan VPC di project lain.

  • Zona projects/zones/{zone} tidak memiliki cukup resource untuk memenuhi permintaan (resource type:compute)

    Penyebab: Zona yang digunakan untuk membuat cluster tidak memiliki resource yang cukup.

    Solusi:

  • Error Kuota Terlampaui

    Kuota CPUS/CPUS_ALL_REGIONS tidak cukup
    Kuota 'DISKS_TOTAL_GB' tidak cukup
    Kuota 'IN_USE_ADDRESSES' tidak cukup

    Penyebab: Permintaan CPU, disk, atau alamat IP Anda melebihi kuota yang tersedia.

    Solusi: Minta kuota tambahan dari Konsol Google Cloud.

  • Tindakan inisialisasi gagal

    Penyebab: Tindakan inisialisasi yang diberikan saat pembuatan cluster gagal diinstal.

    Solusi:

  • Gagal menginisialisasi node {cluster-name}: {component}

    Penyebab: Komponen Dataproc gagal diinisialisasi.

    Solusi: Lihat:

  • Pembuatan cluster gagal: Ruang alamat IP habis

    Penyebab: Ruang alamat IP yang diperlukan untuk menyediakan node cluster yang diminta tidak tersedia.

    Solusi:

    • Buat cluster di subnetwork atau jaringan yang berbeda.
    • Kurangi penggunaan di jaringan untuk mengosongkan ruang alamat IP.
    • Tunggu hingga ruang IP yang cukup tersedia di jaringan.
  • Pesan error skrip inisialisasi: Repositori REPO_NAME tidak lagi memiliki file Rilis

    Penyebab: Repositori backport oldstable Debian telah dihapus permanen.

    Solusi:

    Tambahkan kode berikut sebelum kode yang menjalankan apt-get di skrip inisialisasi Anda.

    oldstable=$(curl -s https://deb.debian.org/debian/dists/oldstable/Release | awk '/^Codename/ {print $2}');
    stable=$(curl -s https://deb.debian.org/debian/dists/stable/Release | awk '/^Codename/ {print $2}');
    
    matched_files="$(grep -rsil '\-backports' /etc/apt/sources.list*)"
    if [[ -n "$matched_files" ]]; then
      for filename in "$matched_files"; do
        grep -e "$oldstable-backports" -e "$stable-backports" "$filename" || \
          sed -i -e 's/^.*-backports.*$//' "$filename"
      done
    fi
    
  • Jaringan tidak dapat dijangkau: dataproccontrol-REGION.googleapis.com/...*

    Penyebab: Jaringan VPC cluster Dataproc mungkin tidak memiliki rute ke internet yang diperlukan. Agen Dataproc yang berjalan di VM cluster memerlukan rute ke internet untuk mengakses Dataproc control API guna mendapatkan tugas dan status laporan. Rute default yang dibuat sistem ke internet mungkin telah dihapus.

    Solusi:

    Tambahkan rute ke internet ke jaringan VPC cluster Anda: 0.0.0.0/0 untuk IPv4 dan ::/0 untuk IPv6 dengan --next-hop-gateway=default-internet-gateway. Tambahkan aturan firewall untuk kontrol akses.

Referensi tambahan