Halaman ini menjelaskan berbagai skenario error dan langkah-langkah pemecahan masalah untuk mengatasi error tersebut.
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 org 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 dalam jaringan yang termasuk dalam project yang berbeda dengan project tempat layanan berada, Anda harus memberikan roles/metastore.serviceAgent ke agen layanan Dataproc Metastore (service-SERVICE_PROJECT_NUMBER@gcp-sa-metastore.iam.gserviceaccount.com) project layanan 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.
Layanan Dataproc Metastore multi-region gagal dibuat
Saat membuat layanan Dataproc Metastore multi-regional, Anda mungkin melihat error berikut:
The Dataproc Service Agent does not have permission to GET Dataproc Metastore service
'projects/<dpmsproject>/locations/nam7/services/<service>'. If using a service from the
cluster's project, please ensure the service agent has the Cloud IAM role
'roles/dataproc.serviceAgent'. Please see
https://cloud.google.com/dataproc/docs/concepts/iam/dataproc-
principals#service_agent_control_plane_identity for information on the Dataproc Service
Agent, and https://cloud.google.com/iam/docs/granting-changing-revoking-access#granting-
gcloud-manual for information on granting access.
Error ini terjadi jika cluster Dataproc Anda berada di project yang berbeda dengan Dataproc Metastore, tetapi Anda belum memberikan izin yang benar ke project Anda.
Untuk mengatasi error ini, Anda harus memberikan izin metastore.services.get kepada akun layanan Dataproc yang ada di project Dataproc Metastore Anda.
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 di 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 mengharuskan Dataproc Metastore untuk memulai koneksi ke host di jaringan project Anda. Anda harus membuat aturan firewall yang mengizinkan masuknya TCP
dan UDP di semua port dari blok IP /17 yang berisi IP Dataproc Metastore.
Untuk mengetahui informasi selengkapnya, lihat Aturan firewall di KDC Anda dan Aturan firewall untuk layanan Anda.
Error koneksi yang disebabkan oleh resource yang disediakan di jaringan VPC Bersama
Jika Dataproc Metastore Anda. 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.} layanan menggunakan jaringan milik project lain, dan Compute Engine dilindungi oleh perimeter layanan, maka project metastore dan project jaringan harus berada dalam 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 diberikan mungkin kehabisan alamat RFC 1918 yang tersedia 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 dapat berkonflik 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 diatasi dengan mengonfigurasi ulang jaringan on-premise, 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 habis
Skenario error berikut menyebabkan layanan tidak responsif atau operasi kehabisan waktu.
Menggunakan log Audit untuk memecahkan masalah waktu tunggu operasi
Untuk memecahkan masalah waktu tunggu operasi layanan, gunakan Logs Explorer di konsolGoogle Cloud guna mengambil entri log audit untuk project Cloud Anda.
Di panel Query builder, pilih Audited Resource atau audited_resource sebagai
jenis resource Google Cloud , diikuti dengan Dataproc Metastore atau
metastore.googleapis.com sebagai layanan. 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. Penyebab umum hal ini dapat terjadi meliputi penggunaan CPU yang tinggi atau error kehabisan memori.
Masalah ini dapat disebabkan oleh beban tinggi atau banyaknya 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
sekaligus menangani beban kerja yang berat.
Untuk memecahkan masalah error kehabisan memori, gunakan Logs Explorer di konsolGoogle Cloud 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 umum impor dan ekspor Dataproc Metastore.
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 tabel 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.getdi 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 izin storage.objects.create
di bucket.
Pekerjaan gagal karena file database terlalu besar
Jika ukuran file database Anda terlalu besar, proses impor atau ekspor dapat memerlukan waktu lebih lama dari batas waktu tugas untuk diselesaikan. Jika impor tidak dapat diselesaikan dalam batas waktu tugas 3 jam, Anda dapat membagi metadata di beberapa instance Dataproc Metastore.
Skenario error pencadangan dan pemulihan
Bagian ini menguraikan masalah umum pencadangan dan pemulihan Dataproc Metastore.
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 dari batas waktu tugas satu jam.
Skenario error cluster Dataproc
Bagian berikut menguraikan masalah umum cluster Dataproc dan cluster yang dikelola sendiri.
Pemasangan cluster Dataproc gagal karena versi tidak cocok
Saat Anda melampirkan cluster Dataproc, image Dataproc dan versi Hive Dataproc Metastore harus kompatibel. Periksa halaman pembuatan versi gambar berikut untuk memastikan versi Hive kompatibel:
- Versi rilis 2.0.x Dataproc
- Versi rilis 1.5.x Dataproc
- Versi rilis 1.4.x Dataproc
Untuk mengetahui informasi selengkapnya, lihat Daftar versi Image Dataproc.
Pembuatan cluster Dataproc gagal karena peran tidak memadai
Saat membuat cluster Dataproc, 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.
Error ini dapat terjadi saat Anda mencoba membuat cluster Dataproc 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 Dataproc, 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.