Menggunakan alat gcpdiag
gcpdiag
adalah alat open source. Ini bukan produk Google Cloud yang didukung secara resmi.
Anda dapat menggunakan alat gcpdiag
untuk membantu mengidentifikasi dan memperbaiki masalah project Google Cloud. Untuk mengetahui informasi selengkapnya, lihat
project gcpdiag di GitHub.
Alat gcpdiag
membantu Anda menemukan masalah pembuatan cluster Dataproc berikut dengan melakukan pemeriksaan berikut:
- Error kehabisan stok: Mengevaluasi log Logs Explorer untuk menemukan kehabisan stok di wilayah dan zona.
- Kuota tidak mencukupi: Memeriksa ketersediaan kuota di project cluster Dataproc.
- Konfigurasi jaringan tidak lengkap: Melakukan pengujian konektivitas jaringan, termasuk pemeriksaan aturan firewall yang diperlukan serta konfigurasi IP eksternal dan internal. Jika cluster telah dihapus, alat
gcpdiag
tidak dapat melakukan pemeriksaan konektivitas jaringan. - Konfigurasi lintas project yang salah: Memeriksa akun layanan lintas project dan meninjau penerapan kebijakan organisasi dan peran tambahan.
- Peran IAM jaringan Virtual Private Cloud bersama tidak ada: Jika cluster Dataproc menggunakan jaringan VPC Bersama, periksa penambahan peran akun layanan yang diperlukan.
- Kegagalan tindakan inisialisasi: Mengevaluasi log Logs Explorer untuk menemukan kegagalan dan waktu tunggu habis skrip tindakan inisialisasi.
Untuk mengetahui daftar langkah-langkah pembuatan cluster gcpdiag
, lihat
Langkah-langkah yang mungkin dilakukan.
Jalankan perintah gcpdiag
Anda dapat menjalankan perintah gcpdiag
dari Cloud Shell di konsolGoogle Cloud atau dalam container Docker.
Google Cloud console
- Lengkapi, lalu salin perintah berikut.
- Buka Google Cloud konsol dan aktifkan Cloud Shell. Buka Konsol Cloud
- Tempel perintah yang disalin.
- Jalankan perintah
gcpdiag
, yang mendownload image Dockergcpdiag
, lalu melakukan pemeriksaan diagnostik. Jika berlaku, ikuti petunjuk output untuk memperbaiki pemeriksaan yang gagal.
gcpdiag runbook dataproc/cluster-creation \
--parameter project_id=PROJECT_ID \
--parameter cluster_name=CLUSTER_NAME \
--parameter OPTIONAL_FLAGS
Docker
Anda dapat
menjalankan gcpdiag
menggunakan wrapper yang memulai gcpdiag
dalam
container Docker. Docker atau
Podman harus diinstal.
- 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 \ --parameter project_id=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 cluster Dataproc target di project Anda
- OPTIONAL_PARAMETERS: Tambahkan satu atau beberapa
parameter opsional berikut. Parameter ini diperlukan jika
cluster telah dihapus.
cluster_uuid
: UUID cluster Dataproc target di project Andaservice_account
: Cluster Dataproc akun layanan VMsubnetwork
: Jalur URI lengkap subnetwork cluster Dataprocinternal_ip_only
: Benar atau Salahcross_project
: ID lintas project jika cluster Dataproc menggunakan akun layanan VM di project lain
Flag yang berguna:
--universe-domain
: Jika berlaku, domain Trusted Partner Sovereign Cloud yang menghosting resource--parameter
atau-p
: Parameter runbook
Untuk mengetahui daftar dan deskripsi semua flag alat gcpdiag
, lihat
petunjuk penggunaan gcpdiag
.
Memahami dan memperbaiki error pembuatan cluster
Bagian ini mencantumkan pesan error Dataproc, serta penyebab dan solusi umumnya.
Waktu operasi habis: Hanya 0 dari 2 datanode/pengelola node minimum yang diperlukan yang berjalan.
Penyebab: Node pengontrol tidak dapat membuat cluster karena tidak dapat berkomunikasi dengan node pekerja.
Solusi:
- Periksa peringatan aturan firewall.
- Pastikan aturan firewall yang benar telah diterapkan. Untuk mengetahui informasi selengkapnya, lihat Ringkasan aturan firewall Dataproc default.
- Lakukan uji konektivitas di konsol Google Cloud untuk menentukan apa yang memblokir komunikasi antara node pengontrol dan pekerja.
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 di 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 Membuat cluster yang menggunakan jaringan VPC di project lain.
Zona
projects/zones/{zone}
tidak memiliki cukup resource yang tersedia untuk memenuhi permintaan(resource type:compute)
Penyebab: Zona yang digunakan untuk membuat cluster tidak memiliki resource yang cukup.
Solusi:
- Buat cluster di zona yang berbeda.
- Gunakan fitur penempatan Zona Otomatis Dataproc.
Error Kuota Terlampaui
Kuota CPUS/CPUS_ALL_REGIONS tidak mencukupi
Kuota 'DISKS_TOTAL_GB' tidak mencukupi
Kuota 'IN_USE_ADDRESSES' tidak mencukupiPenyebab: Permintaan CPU, disk, atau alamat IP Anda melampaui kuota yang tersedia.
Solusi: Minta kuota tambahan dari Google Cloud konsol.
Tindakan inisialisasi gagal
Penyebab: Tindakan inisialisasi yang diberikan selama pembuatan cluster gagal diinstal.
Solusi:
- Lihat pertimbangan dan panduan tindakan inisialisasi.
- Periksa log output. Pesan error akan memberikan link ke log di Cloud Storage.
Gagal menginisialisasi node
CLUSTER-NAME-m
. ... Lihat output di:<gs://PATH_TO_STARTUP_SCRIPT_OUTPUT>
Penyebab: Node pengontrol cluster Dataproc gagal diinisialisasi.
Solusi:
- Tinjau log output skrip startup yang tercantum dalam pesan error (
gs://PATH_TO_STARTUP_SCRIPT_OUTPUT
) dan verifikasi penyebab kegagalan inisialisasi node. - Penyebabnya dapat mencakup masalah konfigurasi jaringan cluster Dataproc dan kegagalan penginstalan dependensi paket Python.
- Jika masalah tidak terselesaikan setelah Anda meninjau log startup-script, perbaiki masalah sisi pengguna, lalu coba lagi dengan penundaan eksponensial, hubungi dukungan Google Cloud.
- Tinjau log output skrip startup yang tercantum dalam pesan error (
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 membebaskan ruang alamat IP.
- Tunggu hingga ruang IP yang memadai tersedia di jaringan.
Pesan error skrip inisialisasi: Repositori REPO_NAME tidak lagi memiliki file Rilis
Penyebab: Repositori backport oldstable Debian telah dihapus.
Solusi:
Tambahkan kode berikut sebelum kode yang menjalankan
apt-get
dalam 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
Waktu tunggu habis saat menunggu instance
DATAPROC_CLUSTER_VM_NAME
melaporkan atau Jaringan tidak dapat dijangkau:dataproccontrol-REGION.googleapis.com
Penyebab: Pesan error ini menunjukkan bahwa penyiapan jaringan cluster Dataproc Anda belum selesai: Anda mungkin tidak memiliki rute ke gateway internet default atau aturan firewall.
Solusi:
Untuk memecahkan masalah ini, Anda dapat membuat Uji Konektivitas berikut:
- Buat Uji Konektivitas antara dua VM cluster Dataproc. Hasil pengujian ini akan membantu Anda memahami apakah aturan firewall yang mengizinkan masuk atau keluar dari jaringan Anda diterapkan ke VM cluster dengan benar.
- Buat Uji Konektivitas antara VM cluster Dataproc dan alamat IP API kontrol Dataproc saat ini. Untuk mendapatkan alamat IP API kontrol Dataproc saat ini, gunakan perintah berikut:
dig dataproccontrol-REGION.googleapis.com A
Gunakan salah satu alamat IPv4 di bagian jawaban output.
Hasil Uji Konektivitas akan membantu Anda memahami apakah rute ke gateway internet default dan firewall yang mengizinkan keluar dikonfigurasi dengan benar.
Berdasarkan hasil Uji Konektivitas:
- 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.
Error karena update
Penyebab: Cluster menerima tugas yang dikirimkan ke layanan Dataproc, tetapi tidak dapat melakukan penskalaan naik atau turun secara manual atau melalui penskalaan otomatis. Error ini juga dapat disebabkan oleh konfigurasi cluster yang tidak standar.
Solusi:
Reset cluster: Buka tiket dukungan, sertakan file tar diagnostik, dan minta agar cluster direset ke status RUNNING.
Cluster baru: Buat ulang cluster dengan konfigurasi yang sama. Solusi ini bisa lebih cepat daripada reset yang diberikan dukungan.
Tips pemecahan masalah cluster
Bagian ini memberikan panduan tambahan tentang cara memecahkan masalah umum yang dapat mencegah pembuatan cluster Dataproc.
Jika penyediaan cluster Dataproc gagal, pesan error umum atau status PENDING
atau PROVISIONING
akan sering ditampilkan sebelum gagal. Kunci untuk mendiagnosis dan menyelesaikan masalah kegagalan cluster
adalah dengan memeriksa log cluster dan menilai titik kegagalan umum.
Gejala dan pesan error umum
Berikut adalah gejala dan pesan error umum yang terkait dengan kegagalan pembuatan cluster:
- Status cluster tetap
PENDING
atauPROVISIONING
untuk jangka waktu yang lebih lama. - Cluster bertransisi ke status
ERROR
. - Error API umum selama pembuatan cluster, seperti
Operation timed out
. Pesan error respons API atau yang dicatat, seperti:
RESOURCE_EXHAUSTED
: terkait dengan kuota CPU, disk, atau alamat IPInstance failed to start
Permission denied
Unable to connect to service_name.googleapis.com
atauCould not reach required Google APIs
Connection refused
ataunetwork unreachable
- Error terkait kegagalan tindakan inisialisasi, seperti error eksekusi skrip dan file tidak ditemukan.
Meninjau log cluster
Langkah awal penting saat mendiagnosis kegagalan pembuatan cluster adalah meninjau log cluster mendetail yang tersedia di Cloud Logging.
- Buka Logs Explorer: Buka Logs Explorer di konsol Google Cloud .
- Filter untuk cluster Dataproc:
- Di drop-down Resource, pilih
Cloud Dataproc Cluster
. - Masukkan
cluster_name
danproject_id
Anda. Anda juga dapat memfilter menurutlocation
(wilayah).
- Di drop-down Resource, pilih
- Periksa Entri Log:
- Cari pesan tingkat
ERROR
atauWARNING
yang terjadi mendekati waktu kegagalan pembuatan cluster. - Perhatikan log dari komponen
master-startup
,worker-startup
, danagent
untuk mendapatkan insight tentang masalah tingkat VM atau agen Dataproc. - Untuk mendapatkan insight tentang masalah waktu booting VM, filter log menurut
resource.type="gce_instance"
, dan cari pesan dari nama instance yang terkait dengan node cluster Anda, sepertiCLUSTER_NAME-m
atauCLUSTER_NAME-w-0
. Log konsol serial dapat mengungkapkan masalah konfigurasi jaringan, masalah disk, dan kegagalan skrip yang terjadi di awal siklus proses VM.
- Cari pesan tingkat
Penyebab umum kegagalan cluster dan tips pemecahan masalah
Bagian ini menguraikan alasan umum pembuatan cluster Dataproc mungkin gagal dan memberikan tips pemecahan masalah untuk membantu memecahkan masalah kegagalan cluster.
Izin IAM tidak memadai
Akun layanan VM yang digunakan oleh cluster Dataproc Anda harus memiliki peran IAM yang sesuai untuk menyediakan instance Compute Engine, mengakses bucket Cloud Storage, menulis log, dan berinteraksi dengan layanan Google Cloud lainnya.
- Peran Worker yang diperlukan: Pastikan akun layanan VM memiliki peran
Dataproc Worker (
roles/dataproc.worker
). Peran ini memiliki izin minimum yang diperlukan agar Dataproc dapat mengelola resource cluster. - Izin akses data: Jika tugas Anda membaca dari atau menulis ke Cloud Storage atau BigQuery, akun layanan memerlukan peran terkait, seperti
Storage Object Viewer
,Storage Object Creator
, atauStorage Object Admin
untuk Cloud Storage, atauBigQuery Data Viewer
atauBigQuery Editor
untuk BigQuery. - Izin logging: Akun layanan harus memiliki peran dengan izin yang diperlukan untuk menulis log ke Cloud Logging, seperti peran
Logging Writer
.
Tips pemecahan masalah:
Identifikasi akun layanan: Tentukan akun layanan VM yang dikonfigurasi untuk digunakan oleh cluster Anda. Jika tidak ditentukan, nilai defaultnya adalah akun layanan default Compute Engine.
Verifikasi peran IAM: Buka halaman IAM & Admin > IAM di konsol Google Cloud , temukan akun layanan VM cluster, lalu verifikasi bahwa akun tersebut memiliki peran yang diperlukan untuk operasi cluster. Berikan peran yang belum ada.
Kuota resource terlampaui
Cluster Dataproc menggunakan resource dari Compute Engine dan layanan Google Cloud lainnya. Melampaui kuota project atau regional dapat menyebabkan kegagalan pembuatan cluster.
- Kuota Dataproc umum yang perlu diperiksa:
CPUs
(regional)DISKS_TOTAL_GB
(regional)IN_USE_ADDRESSES
(regional untuk IP internal, global untuk IP eksternal)- Kuota Dataproc API, seperti
ClusterOperationRequestsPerMinutePerProjectPerRegion
.
Tips pemecahan masalah:
- Tinjau kuota: Buka halaman IAM & Admin > IAM di konsol Google Cloud . Filter menurut "Service" untuk "Compute Engine API" dan "Dataproc API".
- Periksa penggunaan vs. batas: Identifikasi kuota yang telah mencapai atau mendekati batasnya.
- Jika perlu, minta penambahan kuota.
Masalah konfigurasi jaringan
Masalah konfigurasi jaringan, seperti kesalahan konfigurasi jaringan VPC, subnet, firewall, atau DNS, adalah penyebab umum kegagalan pembuatan cluster. Instance cluster harus dapat berkomunikasi satu sama lain dan dengan Google API.
- Jaringan dan subnet VPC:
- Pastikan jaringan dan subnet VPC cluster ada dan dikonfigurasi dengan benar.
- Pastikan subnet memiliki rentang alamat IP yang tersedia yang memadai.
- Akses Google Pribadi (PGA): Jika VM cluster memiliki alamat IP internal dan perlu menjangkau Google API untuk Cloud Storage, Cloud Logging, dan operasi lainnya, pastikan Akses Google Pribadi diaktifkan di subnet. Secara default, cluster Dataproc yang dibuat dengan versi image 2.2+ menyediakan VM dengan alamat IP khusus internal dengan Akses Google Pribadi diaktifkan di subnet regional cluster.
- Private Service Connect
(PSC): Jika Anda menggunakan
Private Service Connect untuk mengakses Google
API, pastikan endpoint Private Service Connect
yang diperlukan dikonfigurasi dengan benar untuk Google API yang menjadi dependensi Dataproc, seperti
dataproc.googleapis.com
,storage.googleapis.com
,compute.googleapis.com
, danlogging.googleapis.com
. Entri DNS untuk API harus di-resolve ke alamat IP pribadi. Perhatikan bahwa penggunaan Private Service Connect tidak menghilangkan kebutuhan untuk menggunakan peering VPC untuk berkomunikasi dengan jaringan VPC yang dikelola pelanggan lainnya. . - Peering VPC: Jika cluster Anda berkomunikasi dengan resource di jaringan VPC lain, seperti project host VPC bersama atau VPC pelanggan lain, pastikan peering VPC dikonfigurasi dengan benar dan rute disebarkan.
Aturan firewall:
- Aturan default: Verifikasi bahwa aturan firewall default, seperti
allow-internal
atauallow-ssh
, tidak terlalu ketat. Aturan kustom: Jika aturan firewall kustom diterapkan, verifikasi bahwa aturan tersebut mengizinkan jalur komunikasi yang diperlukan:
- Komunikasi internal dalam cluster (antara node -m dan -w).
Traffic keluar dari VM cluster ke Google API, menggunakan IP publik atau gateway internet, Akses Google Pribadi, atau endpoint Private Service Connect.
Traffic ke sumber atau layanan data eksternal yang menjadi dependensi tugas Anda.
- Aturan default: Verifikasi bahwa aturan firewall default, seperti
Resolusi DNS: Pastikan instance cluster dapat menyelesaikan nama DNS dengan benar untuk Google API dan layanan internal atau eksternal.
Tips pemecahan masalah:
- Tinjau konfigurasi jaringan: Periksa setelan jaringan dan subnet VPC tempat cluster di-deploy.
- Periksa aturan firewall: Tinjau aturan firewall di jaringan VPC atau project host VPC Bersama.
- Uji konektivitas: Luncurkan VM Compute Engine
sementara di subnet cluster dan jalankan langkah-langkah berikut:
ping
ataucurl
ke domain Google API eksternal, sepertistorage.googleapis.com
.nslookup
untuk memverifikasi resolusi DNS ke alamat IP yang diharapkan (Akses Google Pribadi atau Private Service Connect).- Jalankan Google Cloud uji konektivitas untuk mendiagnosis jalur dari VM pengujian ke endpoint yang relevan.
Kegagalan tindakan inisialisasi
Tindakan inisialisasi Dataproc adalah skrip yang berjalan di VM cluster selama pembuatan cluster. Error dalam skrip ini dapat mencegah startup cluster.
Tips pemecahan masalah:
- Periksa log untuk mengetahui error tindakan inisialisasi: Cari entri log yang terkait dengan
init-actions
ataustartup-script
untuk instance cluster di Cloud Logging. - Periksa jalur dan izin skrip: Pastikan skrip tindakan inisialisasi terletak dengan benar di Cloud Storage dan akun layanan VM cluster memiliki peran
Storage Object Viewer
yang diperlukan untuk membaca skrip Cloud Storage. - Men-debug logika skrip: Uji logika skrip di VM Compute Engine terpisah yang meniru lingkungan cluster untuk mengidentifikasi error. Tambahkan pencatatan aktivitas yang lebih detail ke skrip.
Ketersediaan resource regional (kehabisan stok)
Terkadang, jenis mesin atau resource di region atau zona mengalami ketidaktersediaan sementara (kehabisan stok). Biasanya, hal ini akan menghasilkan error RESOURCE_EXHAUSTED
yang tidak terkait dengan masalah kuota project.
Tips pemecahan masalah:
- Coba zona atau region lain: Coba buat cluster di zona lain dalam region yang sama, atau di region lain.
- Menggunakan penempatan Zona Otomatis: Gunakan fitur penempatan Zona Otomatis Dataproc untuk memilih zona dengan kapasitas secara otomatis.
- Sesuaikan jenis mesin: Jika menggunakan jenis mesin kustom atau khusus, coba jenis mesin standar untuk melihat apakah masalah teratasi.
Langkah berikutnya
Jika Anda terus mengalami masalah kegagalan cluster:
- Hubungi Cloud Customer Care.
Jelaskan masalah kegagalan cluster dan langkah-langkah pemecahan masalah yang telah dilakukan.
Berikan juga informasi berikut:
- Data diagnostik cluster
- Output dari perintah berikut:
gcloud dataproc clusters describe CLUSTER_NAME \ -region=REGION
- Mengekspor log untuk cluster yang gagal.