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 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
- 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
- Salin perintah berikut:
- Buka konsol Google Cloud dan aktifkan Cloud Shell: Buka Cloud Console
- Tempel perintah yang disalin.
- 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.
gcpdiag runbook dataproc/cluster-creation \
--project=PROJECT_ID \
--parameter cluster_name=CLUSTER_NAME \
--parameter OPTIONAL FLAGS \
Docker
Anda dapat
menjalankan gcpdiag
menggunakan wrapper yang memulai gcpdiag
di container Docker.
Cara ini berfungsi di semua komputer yang menginstal Docker atau Podman.
- Salin dan jalankan perintah berikut di workstation lokal Anda:
curl https://gcpdiag.dev/gcpdiag.sh >gcpdiag && chmod +x gcpdiag
- 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 Salahcross_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 untukprojects/{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:
- Buat cluster di zona berbeda.
- Gunakan fitur Penempatan Zona Otomatis Dataproc.
Error Kuota Terlampaui
Kuota CPUS/CPUS_ALL_REGIONS tidak cukup
Kuota 'DISKS_TOTAL_GB' tidak cukup
Kuota 'IN_USE_ADDRESSES' tidak cukupPenyebab: 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:
- Lihat pertimbangan dan panduan tindakan inisialisasi.
- Periksa log output. Pesan error menampilkan link ke log di Cloud Storage.
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.