Dokumen ini menjelaskan pesan error umum saat pembuatan cluster dan memberikan tips tentang cara memecahkan masalah pembuatan cluster.
Pesan error umum saat pembuatan cluster
Pengguna tidak diizinkan untuk bertindak sebagai akun layanan
Penyebab: Akun utama yang mencoba membuat cluster Managed Service untuk Apache Spark tidak memiliki izin yang diperlukan untuk menggunakan akun layanan yang ditentukan. Pengguna Managed Service untuk Apache Spark harus memiliki izin akun layanan
ActAsuntuk men-deploy resource Managed Service untuk Apache Spark; izin ini disertakan dalam peran Pengguna Akun Layanan (roles/iam.serviceAccountUser) (lihat Peran Managed Service untuk Apache Spark).Solusi: Identifikasi pengguna atau akun layanan yang mencoba membuat cluster Managed Service untuk Apache Spark. Berikan peran Pengguna Akun Layanan (
roles/iam.serviceAccountUser) kepada akun utama tersebut di akun layanan yang dikonfigurasi untuk digunakan oleh cluster (biasanya, akun layanan VM Managed Service untuk Apache Spark).Operasi waktu tunggu 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 sudah diterapkan. Untuk mengetahui informasi selengkapnya, lihat Ringkasan aturan firewall Managed Service untuk Apache Spark default.
- Lakukan uji konektivitas di Google Cloud konsol untuk menentukan apa yang memblokir komunikasi antara node pengontrol dan pekerja.
Izin
compute.subnetworks.usediperlukan untukprojects/{projectId}/regions/{region}/subnetworks/{subnetwork}Penyebab: Error ini dapat terjadi saat Anda mencoba menyiapkan cluster Managed Service untuk Apache Spark menggunakan jaringan VPC di project lain dan akun layanan Agen Layanan Managed Service untuk Apache Spark Service Agent tidak memiliki izin yang diperlukan di project VPC Bersama yang menghosting jaringan.
Solusi: Ikuti langkah-langkah yang tercantum di 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:
- Gunakan fitur penempatan Zona OtomatisManaged Service untuk Apache Spark untuk membuat cluster di salah satu zona region dengan resource yang tersedia.
- Buat cluster di zona lain.
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 melebihi kuota yang tersedia.
Solusi: Minta kuota tambahan dari konsol.Google Cloud
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 melakukan inisialisasi node
CLUSTER-NAME-m. ... Lihat output di:<gs://PATH_TO_STARTUP_SCRIPT_OUTPUT>Penyebab: Node pengontrol cluster Managed Service untuk Apache Spark 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 Managed Service untuk Apache Spark dan kegagalan penginstalan dependensi paket Python.
- Jika masalah tidak terselesaikan setelah Anda meninjau log skrip startup, perbaiki masalah sisi pengguna, lalu coba lagi dengan backoff 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 dengan lebih sedikit node pekerja, tetapi jenis mesin yang lebih besar.
- Buat cluster di subnetwork atau jaringan lain.
- 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.
Solusi:
Tambahkan kode berikut sebelum kode yang menjalankan
apt-getdi 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 fiWaktu tunggu habis saat menunggu instance
DATAPROC_CLUSTER_VM_NAMEmelaporkan atau Jaringan tidak dapat dijangkau:dataproccontrol-REGION.googleapis.comPenyebab: Pesan error ini menunjukkan bahwa penyiapan jaringan cluster Managed Service untuk Apache Spark 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 Managed Service untuk Apache Spark. Hasil pengujian ini akan membantu Anda memahami apakah aturan firewall izinkan masuk atau keluar jaringan Anda berlaku dengan benar untuk VM cluster.
- Buat Uji Konektivitas antara VM cluster Managed Service untuk Apache Spark dan Managed Service untuk Apache Spark saat ini alamat IP API kontrol. Untuk mendapatkan alamat IP API kontrol Managed Service untuk Apache Spark 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 izinkan keluar dikonfigurasi dengan benar.
Berdasarkan hasil Uji Konektivitas:
- Tambahkan rute ke internet ke jaringan VPC cluster Anda:
0.0.0.0/0untuk IPv4 dan::/0untuk 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 Managed Service untuk Apache Spark, tetapi tidak dapat melakukan peningkatan skala atau penurunan 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 cluster direset ke status RUNNING.
Cluster baru: Buat ulang cluster dengan konfigurasi yang sama. Solusi ini bisa lebih cepat daripada reset yang disediakan dukungan.
Tips pemecahan masalah cluster
Bagian ini memberikan panduan tambahan tentang cara memecahkan masalah umum yang dapat mencegah pembuatan cluster Managed Service untuk Apache Spark.
Jika cluster Managed Service untuk Apache Spark gagal disediakan, cluster tersebut sering kali menghasilkan pesan error umum atau melaporkan status PENDING atau PROVISIONING sebelum gagal. Kunci untuk mendiagnosis dan menyelesaikan masalah kegagalan cluster adalah memeriksa log cluster dan menilai titik kegagalan umum.
Gejala umum
Berikut adalah gejala umum yang terkait dengan kegagalan pembuatan cluster:
- Status cluster tetap
PENDINGatauPROVISIONINGdalam jangka waktu yang lama. - Cluster bertransisi ke status
ERROR. - Error API umum selama pembuatan cluster, seperti
Operation timed out. Pesan error yang dicatat atau respons API, seperti:
RESOURCE_EXHAUSTED: terkait dengan kuota CPU, disk, atau alamat IPInstance failed to startPermission deniedUnable to connect to service_name.googleapis.comatauCould not reach required Google APIsConnection refusedataunetwork unreachable- Error terkait kegagalan tindakan inisialisasi, seperti error eksekusi skrip dan file tidak ditemukan.
Meninjau log cluster
Langkah awal yang penting saat mendiagnosis kegagalan pembuatan cluster adalah meninjau log cluster mendetail yang tersedia di Cloud Logging.
- Buka Logs Explorer: Buka Logs Explorer di Google Cloud konsol.
- Filter untuk cluster Managed Service untuk Apache Spark:
- Di menu drop-down Resource, pilih
Cloud Managed Service for Apache Spark Cluster. - Masukkan
cluster_namedanproject_idAnda. Anda juga dapat memfilter berdasarkanlocation(region).
- Di menu drop-down Resource, pilih
- Periksa Entri Log:
- Cari pesan tingkat
ERRORatauWARNINGyang terjadi mendekati waktu kegagalan pembuatan cluster. - Perhatikan log dari komponen
master-startup,worker-startup, danagentuntuk mendapatkan insight tentang masalah tingkat VM atau agen Managed Service untuk Apache Spark. - Untuk mendapatkan insight tentang masalah waktu booting VM,
filter log berdasarkan
resource.type="gce_instance", dan cari pesan dari nama instance yang terkait dengan node cluster Anda, sepertiCLUSTER_NAME-matauCLUSTER_NAME-w-0. Log konsol serial dapat mengungkapkan masalah konfigurasi jaringan, masalah disk, dan kegagalan skrip yang terjadi pada awal siklus proses VM.
- Cari pesan tingkat
Penyebab umum kegagalan cluster dan tips pemecahan masalah
Bagian ini menguraikan alasan umum mengapa pembuatan cluster Managed Service untuk Apache Spark dapat gagal dan memberikan tips pemecahan masalah untuk membantu memecahkan masalah kegagalan cluster.
Izin IAM tidak memadai
- Peran Pekerja yang diperlukan: Pastikan akun layanan VM memiliki peran
Pekerja Managed Service untuk Apache Spark (
roles/dataproc.worker). Peran ini memiliki izin minimum yang diperlukan agar Managed Service untuk Apache Spark 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 Adminuntuk Cloud Storage, atauBigQuery Data VieweratauBigQuery Editoruntuk 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, defaultnya adalah akun layanan default Compute Engine.
Verifikasi peran IAM: Buka halaman IAM & Admin > IAM di Google Cloud konsol, temukan akun layanan VM cluster, lalu verifikasi bahwa akun tersebut memiliki peran yang diperlukan untuk operasi cluster. Berikan peran yang tidak ada.
Kuota resource terlampaui
Cluster Managed Service untuk Apache Spark menggunakan resource dari Compute Engine dan layanan Google Cloud lainnya. Melampaui kuota project atau regional dapat menyebabkan kegagalan pembuatan cluster.
- Kuota Managed Service untuk Apache Spark 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 Google Cloud konsol. Filter berdasarkan "Layanan" untuk "Compute Engine API" dan "Dataproc API".
- Periksa penggunaan vs. batas: Identifikasi kuota yang berada pada atau mendekati batasnya.
- Jika perlu, minta penambahan kuota.
Masalah konfigurasi jaringan
Masalah konfigurasi jaringan, seperti konfigurasi jaringan VPC, subnet, firewall, atau DNS yang salah, adalah penyebab umum kegagalan pembuatan cluster. Instance cluster harus dapat berkomunikasi satu sama lain dan dengan Google API.
- Jaringan dan subnet VPC:
- Pastikan jaringan VPC dan subnet cluster ada dan dikonfigurasi dengan benar.
- Pastikan subnet memiliki rentang alamat IP yang tersedia.
- 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 bahwa Akses Google Pribadi diaktifkan di subnet. Secara default, cluster Managed Service untuk Apache Spark yang dibuat dengan versi image 2.2+ menyediakan VM dengan alamat IP khusus internal dengan Akses Google Pribadi yang diaktifkan di subnet regional cluster.
- Private Service Connect
(PSC): Jika Anda menggunakan
Private Service Connect untuk mengakses Google
API, pastikan bahwa
endpoint Private Service Connect
yang diperlukan dikonfigurasi dengan benar untuk Google API yang bergantung pada Managed Service untuk Apache Spark, 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 lainnya, pastikan peering VPC dikonfigurasi dengan benar dan rute disebarkan.
Aturan firewall:
- Aturan default: Pastikan aturan firewall default, seperti
allow-internalatauallow-ssh, tidak terlalu ketat. Aturan kustom: Jika aturan firewall kustom diterapkan, pastikan 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 data atau layanan eksternal yang bergantung pada tugas Anda.
- Aturan default: Pastikan aturan firewall default, seperti
Resolusi DNS: Pastikan instance cluster dapat me-resolve nama DNS dengan benar untuk Google API dan layanan internal atau eksternal.
Tips pemecahan masalah:
- Tinjau konfigurasi jaringan: Periksa setelan jaringan VPC dan subnet 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:
pingataucurlke domain Google API eksternal, sepertistorage.googleapis.com.nslookupuntuk 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 Managed Service untuk Apache Spark adalah skrip yang berjalan di VM cluster selama pembuatan cluster. Error dalam skrip ini dapat mencegah startup cluster.
Tips pemecahan masalah:
- Periksa log untuk error tindakan inisialisasi: Cari entri log yang terkait dengan
init-actionsataustartup-scriptuntuk 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 Vieweryang diperlukan untuk membaca skrip Cloud Storage. - Debug logika skrip: Uji logika skrip di VM Compute Engine terpisah yang meniru lingkungan cluster untuk mengidentifikasi error. Tambahkan logging verbose 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.
- Gunakan penempatan Zona Otomatis: Gunakan fitur penempatan Zona Otomatis Managed Service untuk Apache Spark Auto Zone placement 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 tersebut dapat diselesaikan.
Menghubungi Cloud Customer Care
Jika Anda terus mengalami masalah kegagalan cluster, hubungi Cloud Customer Care. Jelaskan masalah kegagalan cluster dan langkah-langkah pemecahan masalah yang telah dilakukan. Selain itu, berikan informasi berikut:
- Data diagnostik cluster
- Output dari perintah berikut:
gcloud dataproc clusters describe CLUSTER_NAME \ --region=REGION
- Log yang diekspor untuk cluster yang gagal.
Menggunakan alat gcpdiag
gcpdiag
adalah alat open source. Alat ini bukan produk yang didukung secara resmi Google Cloud .
Anda dapat menggunakan alat gcpdiag untuk membantu mengidentifikasi dan memperbaiki Google Cloud
masalah project. Untuk mengetahui informasi selengkapnya, lihat
project gcpdiag di GitHub.
Alat gcpdiag membantu Anda menemukan masalah pembuatan cluster Managed Service untuk Apache Spark berikut 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 project cluster Managed Service untuk Apache Spark.
- Konfigurasi jaringan tidak lengkap: Melakukan uji konektivitas jaringan, termasuk pemeriksaan aturan firewall yang diperlukan dan konfigurasi IP eksternal dan internal. Jika cluster telah dihapus, alat
gcpdiagtidak dapat melakukan pemeriksaan konektivitas jaringan. - Konfigurasi lintas project yang salah: Memeriksa akun layanan lintas project dan meninjau peran tambahan serta penerapan kebijakan organisasi.
- Peran IAM jaringan Virtual Private Cloud bersama tidak ada: Jika cluster Managed Service untuk Apache Spark menggunakan jaringan VPC Bersama, periksa penambahan peran akun layanan yang diperlukan.
- Kegagalan tindakan inisialisasi: Mengevaluasi log Logs Explorer untuk menemukan kegagalan dan waktu tunggu skrip tindakan inisialisasi.
Untuk mengetahui daftar langkah-langkah dataproc gcpdiag, termasuk langkah-langkah pembuatan cluster, lihat
Langkah-langkah Managed Service untuk Apache Spark.
Menjalankan perintah gcpdiag
Anda dapat menjalankan perintah gcpdiag dari Cloud Shell di
Google Cloud konsol atau dalam container Docker.
Google Cloud Konsol
- 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 managed-spark/cluster-creation \
--parameter project_id=PROJECT_ID \
--parameter cluster_name=CLUSTER_NAME \
--parameter OPTIONAL_FLAGSDocker
Anda dapat
menjalankan gcpdiag menggunakan wrapper yang memulai gcpdiag di
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 managed-spark/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 Managed Service untuk Apache Spark target di project Anda
- OPTIONAL_PARAMETERS: Tambahkan satu atau beberapa
parameter opsional berikut. Parameter ini diperlukan jika
cluster telah dihapus.
cluster_uuid: UUID cluster Managed Service untuk Apache Spark target di project Andaservice_account: Akun layanan VM cluster Managed Service untuk Apache Sparksubnetwork: Jalur URI lengkap subnetwork cluster Managed Service untuk Apache Sparkinternal_ip_only: Benar atau Salahcross_project: ID lintas project jika cluster Managed Service untuk Apache Spark menggunakan akun layanan VM di project lain
Flag yang berguna:
--universe-domain: Jika berlaku, domain Trusted Partner Sovereign Cloud yang menghosting resource--parameteratau-p: Parameter runbook
Untuk mengetahui daftar dan deskripsi semua gcpdiag flag alat, lihat
gcpdiag petunjuk penggunaan.
Langkah berikutnya
- Pelajari lebih lanjut alat pemantauan dan pemecahan masalah Managed Service untuk Apache Spark.
- Pelajari cara men diagnosis cluster Managed Service untuk Apache Spark.
- Lihat dokumen FAQ Managed Service untuk Apache Spark .