Halaman ini menjelaskan berbagai skenario error dan langkah-langkah pemecahan masalah untuk mengatasi error.
Skenario error konektivitas dan jaringan
Jika layanan Anda mengalami masalah konektivitas atau jaringan, periksa skenario di bagian berikut untuk melihat apakah salah satunya menyebabkan masalah.
Pembuatan layanan gagal karena batasan untuk membatasi peering VPC
Jangan menetapkan batasan kebijakan organisasi untuk membatasi peering VPC. Menentukan constraints/compute.restrictVpcPeering akan menyebabkan permintaan pembuatan Anda gagal dengan error INVALID_ARGUMENT. Jika Anda harus menetapkan batasan, gunakan perintah berikut untuk mengizinkan under:folders/270204312590:
gcloud resource-manager org-policies allow compute.restrictVpcPeering under:folders/270204312590 --organization ORGANIZATION_ID
Untuk mengetahui informasi selengkapnya, lihat Batasan kebijakan organisasi.
Deployment lintas project gagal jika akun layanan mungkin tidak ada
Untuk membuat layanan Dataproc Metastore yang dapat diakses di jaringan yang dimiliki
project lain selain project tempat layanan berada, Anda harus memberikan
roles/metastore.serviceAgent kepada agen layanan Dataproc Metastore project layanan
(service-SERVICE_PROJECT_NUMBER@gcp-sa-metastore.iam.gserviceaccount.com)
dalam kebijakan IAM project jaringan.
gcloud projects add-iam-policy-binding NETWORK_PROJECT_ID \
--role "roles/metastore.serviceAgent" \
--member "serviceAccount:service-SERVICE_PROJECT_NUMBER@gcp-sa-metastore.iam.gserviceaccount.com"
Untuk mengetahui informasi selengkapnya, lihat Menyiapkan deployment lintas project.
IP pribadi diperlukan untuk konektivitas jaringan
Dataproc Metastore hanya menggunakan IP pribadi, sehingga tidak ada IP publik yang diekspos. Artinya, hanya VM di jaringan Virtual Private Cloud (VPC) yang disediakan atau lokal (terhubung melalui Cloud VPN atau Cloud Interconnect) yang dapat mengakses layanan Dataproc Metastore.
Untuk mengetahui informasi selengkapnya, lihat Akses layanan.
Aturan firewall ingress-allow yang diperlukan untuk Kerberos
Kerberos memerlukan Dataproc Metastore untuk memulai koneksi ke host di jaringan project Anda. Anda harus membuat aturan firewall yang mengizinkan ingress TCP dan UDP di semua port dari blok IP /17 yang berisi IP Dataproc Metastore.
Untuk mengetahui informasi selengkapnya, lihat Aturan firewall di KDC dan Aturan firewall untuk layanan Anda.
Error koneksi yang disebabkan oleh resource yang disediakan di jaringan VPC Bersama
Jika layanan Anda menggunakan jaringan yang dimiliki project lain, dan Compute Engine dilindungi oleh perimeter layanan, project metastore dan project jaringan harus berada di perimeter yang sama.
Untuk menambahkan project Dataproc Metastore yang ada ke perimeter, ikuti petunjuk di bagian Memperbarui perimeter layanan.
Untuk mengetahui informasi selengkapnya, lihat Kontrol Layanan VPC dengan Dataproc Metastore.
Rentang IP yang dialokasikan habis
Jaringan VPC yang disediakan mungkin kehabisan alamat RFC 1918 yang diperlukan oleh layanan Dataproc Metastore. Jika hal itu terjadi, Dataproc Metastore akan mencoba mencadangkan rentang alamat IP pribadi di luar rentang RFC 1918 untuk pembuatan layanan. Untuk mengetahui daftar rentang pribadi non-RFC 1918 yang didukung, lihat Rentang yang valid dalam dokumentasi jaringan VPC.
Alamat IP pribadi non-RFC 1918 yang digunakan di Dataproc Metastore mungkin bertentangan dengan rentang di jaringan lokal yang terhubung ke jaringan VPC yang disediakan. Untuk memeriksa daftar alamat IP pribadi RFC 1918 dan non-RFC 1918 yang dicadangkan oleh Dataproc Metastore:
gcloud compute addresses list \
--project NETWORK_PROJECT_ID \
--filter="purpose:VPC_PEERING AND name ~ cluster|resourcegroup"
Jika konflik ditentukan dan tidak dapat dimitigasi dengan mengonfigurasi ulang jaringan lokal, hapus layanan Dataproc Metastore yang bermasalah dan buat ulang setelah 2 jam.
Untuk mengetahui informasi selengkapnya, lihat Kehabisan rentang alamat IP.
Skenario error waktu tunggu operasi
Skenario error berikut akan menyebabkan layanan tidak responsif atau waktu tunggu operasi habis.
Menggunakan log Audit untuk memecahkan masalah waktu tunggu operasi
Untuk memecahkan masalah waktu tunggu operasi layanan, gunakan Logs Explorer di Google Cloud konsol untuk mengambil entri log audit untuk project Cloud Anda.
Di panel Query builder, pilih Audited Resource atau audited_resource sebagai
jenis resource, diikuti dengan Dataproc Metastore atau
metastore.googleapis.com sebagai layanan. Google Cloud Memilih metode bersifat opsional.
Untuk mengetahui informasi selengkapnya, lihat Melihat log.
Layanan Tidak Tersedia
Layanan Dataproc Metastore dapat menjadi tidak tersedia karena berbagai alasan dan menyebabkan kegagalan. Alasan umum hal ini dapat terjadi mencakup penggunaan CPU yang tinggi atau error kehabisan memori.
Masalah ini dapat disebabkan oleh beban tinggi atau banyak tabel dan partisi yang dikueri. Untuk mencegah masalah ini, sebaiknya gunakan paket Enterprise, yang memberikan skalabilitas yang fleksibel, fault-tolerance, dan ketersediaan tinggi multi-zona saat menangani workload yang berat.
Untuk memecahkan masalah error kehabisan memori, gunakan Logs Explorer di Google Cloud konsol untuk mengambil entri log audit untuk project Cloud Anda.
- Di Logs Explorer, klik Query builder.
- Pilih filter berikut
- Jenis resource:
metastore.googleapis.com/Services - Tingkat keseriusan:
ERROR - Kata kunci:
OutofMemoryError
- Jenis resource:
Untuk mengetahui informasi selengkapnya, lihat Melihat log.
Skenario error impor dan ekspor
Bagian ini menguraikan masalah impor dan ekspor Dataproc Metastore yang umum.
Impor gagal karena versi Hive tidak cocok
Saat Anda mengimpor metadata, versi Hive metastore dan Dataproc Metastore harus kompatibel. Impor Anda mungkin gagal jika keduanya tidak cocok.
Untuk mengetahui informasi selengkapnya tentang kompatibilitas, lihat kebijakan versi.
Anda dapat memeriksa Cloud Logging untuk melihat apakah Anda mengalami error ini. Pesan berikut adalah contoh error ini.
Metastore schema version is not compatible. Hive Version: 3.1.0, Database Schema Version: 2.3.0
Impor gagal karena file tabel Hive tidak ada
Saat menyiapkan impor untuk Avro, harus ada file untuk setiap tabel Hive, meskipun tabelnya kosong, jika tidak, impor akan gagal.
Anda dapat menggunakan Dataproc Metastore Toolkit sebagai referensi untuk memeriksa skema metadata Hive yang benar.
Agen layanan atau pengguna tidak memiliki izin yang diperlukan
Agen layanan Dataproc Metastore (service-CUSTOMER_PROJECT_NUMBER@gcp-sa-metastore.iam.gserviceaccount.com)
dan pengguna yang mengimpor metadata harus memiliki izin baca berikut ke
bucket Cloud Storage yang digunakan untuk impor:
Untuk MySQL, mereka harus memiliki izin
storage.objects.getpada objek Cloud Storage (file dump SQL) yang digunakan untuk impor.Untuk Avro, mereka harus memiliki izin
storage.objects.getpada bucket Cloud Storage yang digunakan untuk impor.
Untuk ekspor, agen layanan Dataproc Metastore
(service-CUSTOMER_PROJECT_NUMBER@gcp-sa-metastore.iam.gserviceaccount.com)
dan pengguna yang membuat ekspor harus memiliki storage.objects.create
izin pada bucket.
Tugas gagal karena file database terlalu besar
Jika file database Anda terlalu besar, proses impor atau ekspor dapat memerlukan waktu lebih lama dari batas waktu tunggu tugas. Jika impor tidak dapat diselesaikan dalam batas waktu tunggu tugas 3 jam job timeout limit, Anda dapat membagi metadata ke beberapa instance Dataproc Metastore.
Skenario error pencadangan dan pemulihan
Bagian ini menguraikan masalah pencadangan dan pemulihan Dataproc Metastore yang umum.
Tidak dapat membuat cadangan baru untuk layanan
Jika sudah ada 7 cadangan dalam layanan, Anda harus menghapus cadangan secara manual terlebih dahulu sebelum membuat cadangan baru. Anda dapat menghapus cadangan yang ada dari tab Backup/Restore.
Pengguna tidak memiliki izin yang diperlukan
Untuk mencadangkan metadata, Anda harus meminta peran IAM yang berisi izin IAM metastore.backups.create.
Untuk memulihkan metadata, Anda harus meminta peran IAM yang berisi izin IAM metastore.services.restore dan metastore.backups.use.
Tugas gagal karena file metadata layanan terlalu besar
Jika file metadata layanan Anda terlalu besar, proses pencadangan atau pemulihan dapat memerlukan waktu lebih lama dari batas waktu tunggu tugas satu jam.
Skenario error cluster Managed Service untuk Apache Spark
Bagian berikut menguraikan masalah umum Managed Service untuk Apache Spark dan cluster yang dikelola sendiri.
Lampiran cluster Managed Service untuk Apache Spark gagal karena versi tidak cocok
Saat Anda melampirkan cluster Managed Service untuk Apache Spark, versi Hive Dataproc Metastore dan image Managed Service untuk Apache Spark harus kompatibel. Periksa halaman pembuatan versi image berikut untuk memastikan versi Hive kompatibel:
- Versi rilis Managed Service untuk Apache Spark 2.0.x
- Versi rilis Managed Service untuk Apache Spark 1.5.x
- Versi rilis Managed Service untuk Apache Spark 1.4.x
Untuk mengetahui informasi selengkapnya, lihat Daftar versi Image Managed Service untuk Apache Spark.
Pembuatan cluster Managed Service untuk Apache Spark gagal karena peran tidak mencukupi
Saat membuat cluster Managed Service untuk Apache Spark, pembuatan cluster gagal dengan pesan error berikut:
gcloud.dataproc.clusters.create) INVALID_ARGUMENT: Default Service Account '**********-compute@developer.gserviceaccount.com' is missing required permissions: [dataproc.agents.create, dataproc.agents.delete, dataproc.agents.get, dataproc.agents.update, dataproc.tasks.lease, dataproc.tasks.listInvalidatedLeases, dataproc.tasks.reportStatus]. Service Accounts must have either 'Dataproc/Dataproc Worker' role or all permissions granted by the role.
Hal ini dapat terjadi saat Anda mencoba membuat cluster Managed Service untuk Apache Spark dan melampirkannya ke Dataproc Metastore.
Untuk memperbaiki masalah ini, berikan roles/dataproc.worker ke akun layanan Anda.
Contoh berikut mengilustrasikan cara melakukannya, menggunakan beberapa nilai contoh.
gcloud projects add-iam-policy-binding my_project \
--member=219315-compute@developer.gserviceaccount.com \
--role=roles/dataproc.workerKoneksi ke metastore gagal karena masalah zona waktu
File Hive Anda menampilkan error The server time zone value 'CDT' is
unrecognized or represents more than one time zone.
Jika Anda tidak dapat terhubung ke metastore dari Managed Service untuk Apache Spark, Anda
harus menghapus cluster saat ini
dan memperbarui perintah gcloud dataproc clusters create atau alat otomatisasi untuk
menyertakan parameter zona waktu berikut:
--metadata "hive-metastore-uri=jdbc:mysql://10.207.26.77:3306/hive_metastore?serverTimezone=CST6CDT"
Memecahkan masalah Google Cloud CLI
Jika Anda mengalami masalah saat perintah gcloud CLI tidak tersedia, atau jika perintah berperilaku berbeda dari yang didokumentasikan, coba update gcloud CLI:
gcloud components update
Langkah berikutnya
- Untuk mengatasi error, lihat Pesan error.