Memecahkan masalah pembuatan cluster

Menggunakan alat gcpdiag

gcpdiag adalah sebuah alat {i>open source<i}. Ini bukan produk Google Cloud yang didukung secara resmi. Anda dapat menggunakan alat gcpdiag untuk membantu mengidentifikasi dan memperbaiki Google Cloud permasalahan proyek. Untuk informasi selengkapnya, lihat gcpdiag project di GitHub.

Alat gcpdiag membantu Anda mempelajari Dataproc berikut masalah pembuatan cluster dengan melakukan pemeriksaan berikut:

  • Error kehabisan stok: Mengevaluasi log Logs Explorer untuk menemukan kehabisan stok di region dan zona.
  • Kuota tidak mencukupi: Memeriksa ketersediaan kuota di Dataproc project cluster Anda.
  • Konfigurasi jaringan tidak lengkap: Melakukan uji konektivitas jaringan, termasuk pemeriksaan untuk aturan firewall yang diperlukan serta IP eksternal dan internal konfigurasi Anda. Jika cluster telah dihapus, alat gcpdiag tidak dapat melakukan pemeriksaan konektivitas jaringan.
  • Konfigurasi lintas project salah: Pemeriksaan layanan lintas project akun Anda dan meninjau peran tambahan serta penegakan kebijakan organisasi.
  • Peran IAM VPC bersama tidak ada: Jika cluster Dataproc menggunakan jaringan VPC Bersama, memeriksa penambahan layanan yang diperlukan peran akun.
  • Kegagalan tindakan inisialisasi: Mengevaluasi Logs Explorer log untuk menemukan kegagalan dan waktu tunggu skrip tindakan inisialisasi.

Untuk mengetahui daftar gcpdiag langkah pembuatan cluster, lihat Langkah-langkah yang dapat dilakukan.

Menjalankan perintah gcpdiag

Anda dapat menjalankan perintah gcpdiag dari Cloud Shell di Konsol Google Cloud atau dalam container Docker.

Konsol Google Cloud

  1. Selesaikan, lalu 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, yang akan mendownload image Docker gcpdiag. dan kemudian melakukan pemeriksaan diagnostik. Jika ada, ikuti petunjuk output untuk memperbaiki pemeriksaan yang gagal.

Docker

Anda dapat menjalankan gcpdiag menggunakan wrapper yang memulai gcpdiag dalam Penampung Docker. Docker atau Podman harus diinstal.

  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 parameter yang tersedia untuk runbook ini.

Ganti kode berikut:

  • PROJECT_ID: ID project yang berisi resource
    • CLUSTER_NAME: Nama target Cluster Dataproc dalam project Anda
    • OPTIONAL_PARAMETERS: Menambahkan satu atau beberapa parameter opsional berikut. Parameter tersebut diperlukan jika cluster telah dihapus.
      • cluster_uuid: UUID Dataproc target cluster dalam project Anda
      • service_account: Cluster Dataproc Akun layanan VM
      • subnetwork: Subnetwork cluster Dataproc jalur URI lengkap
      • internal_ip_only: Benar atau Salah
      • cross_project: ID lintas project jika Cluster Dataproc menggunakan akun layanan VM dalam project lain

Tanda yang berguna:

Untuk daftar dan deskripsi semua flag alat gcpdiag, lihat Petunjuk penggunaan gcpdiag.

Memahami dan memperbaiki error pembuatan cluster

Bagian ini mencantumkan pesan error Dataproc, dan penyebab umumnya dan solusi.

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

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

    Solusi:

  • Izin compute.subnetworks.use yang diperlukan untuk projects/{projectId}/regions/{region}/subnetworks/{subnetwork}

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

    Solusi: Ikuti langkah-langkah yang tercantum dalam 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
    'DISKS_TOTAL_GB' tidak cukup kuota
    'IN_USE_ADDRESSES' tidak memadai kuota

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

    Solusi: Minta kuota tambahan dari Konsol Google Cloud.

  • Tindakan inisialisasi gagal

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

    Solusi:

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

    Penyebab: Komponen Dataproc gagal diinisialisasi.

    Solusi: Lihat:

  • Pembuatan cluster gagal: Ruang alamat IP habis

    Penyebab: Perlu ruang alamat IP 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 persyaratan rute ke internet. Agen Dataproc yang berjalan di VM cluster memerlukan rute ke internet untuk mengakses API kontrol Dataproc untuk mendapatkan tugas dan melaporkan status. 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.