Pemecahan masalah

Halaman ini menjelaskan berbagai skenario error dan langkah-langkah pemecahan masalah untuk menyelesaikan 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 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 termasuk dalam project yang berbeda dengan project tempat layanan berada, Anda harus memberikan roles/metastore.serviceAgent ke 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.

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 Metastore Dataproc, tetapi Anda belum memberikan izin yang benar ke project.

Untuk mengatasi error ini, Anda harus memberikan izin metastore.services.get ke akun layanan Dataproc yang terdapat dalam project Dataproc Metastore Anda.

IP pribadi diperlukan untuk konektivitas jaringan

Dataproc Metastore hanya menggunakan IP pribadi, sehingga tidak ada IP publik yang ditampilkan. Artinya, hanya VM di jaringan Virtual Private Cloud (VPC) yang disediakan atau di infrastruktur lokal (terhubung melalui Cloud VPN atau Cloud Interconnect) yang dapat mengakses layanan Metastore Dataproc.

Untuk informasi selengkapnya, lihat Akses layanan.

Aturan firewall izin masuk yang diperlukan untuk Kerberos

Kerberos memerlukan Dataproc Metastore untuk memulai koneksi ke host di jaringan project Anda. Anda harus membuat aturan firewall yang mengizinkan traffic masuk TCP dan UDP di semua port dari blok IP /17 yang berisi IP Metastore Dataproc.

Untuk 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 Metastore Dataproc 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.} menggunakan jaringan yang termasuk dalam project yang berbeda, 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 disediakan mungkin kehabisan alamat RFC 1918 yang tersedia dan 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 Metastore Dataproc dapat 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 direservasi oleh Metastore Dataproc:

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 Metastore Dataproc yang melanggar 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 waktu tunggu layanan atau operasi yang tidak responsif.

Menggunakan Log audit untuk memecahkan masalah waktu tunggu operasi habis

Untuk memecahkan masalah waktu tunggu operasi layanan, gunakan Logs Explorer di Konsol Google Cloud untuk mengambil entri log audit untuk project Cloud Anda.

Di panel Builder kueri, 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 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 metastore Hive 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, pengguna harus memiliki izin storage.objects.get pada objek Cloud Storage (file dump SQL) yang digunakan untuk impor.

  • Untuk Avro, pengguna harus memiliki izin storage.objects.get di 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.

Tugas gagal karena file database terlalu besar

Jika file database Anda terlalu besar, mungkin diperlukan waktu lebih dari batas waktu tunggu tugas untuk menyelesaikan proses impor atau ekspor. Jika impor tidak dapat diselesaikan dalam batas waktu tunggu tugas 3 jam, Anda dapat membagi metadata di beberapa instance Dataproc Metastore.

Skenario error pencadangan dan pemulihan

Bagian ini menjelaskan masalah pencadangan dan pemulihan Dataproc Metastore yang umum.

Tidak dapat membuat cadangan baru untuk layanan

Jika sudah ada 7 cadangan di layanan, Anda harus menghapus cadangan secara manual terlebih dahulu sebelum membuat cadangan baru. Anda dapat menghapus cadangan yang ada dari tab Cadangan/Pemulihan.

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 tunggu tugas satu jam.

Skenario error cluster Dataproc

Bagian berikut menguraikan masalah umum Dataproc dan cluster yang dikelola sendiri.

Lampiran cluster Dataproc gagal karena versi tidak cocok

Saat Anda melampirkan cluster Dataproc, versi image Dataproc dan Dataproc Metastore Hive harus kompatibel. Periksa halaman pembuatan versi gambar berikut untuk memastikan versi Hive kompatibel:

Untuk 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.

Hal ini dapat terjadi saat Anda mencoba membuat cluster Dataproc dan melampirkannya ke Metastore Dataproc.

Untuk memperbaiki masalah ini, berikan roles/dataproc.worker ke akun layanan Anda. Contoh berikut mengilustrasikan cara melakukannya, menggunakan beberapa contoh nilai.

gcloud projects add-iam-policy-binding my_project \
    --member=219315-compute@developer.gserviceaccount.com \
    --role=roles/dataproc.worker

Koneksi 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 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 dengan yang didokumentasikan, coba update gcloud CLI:

gcloud components update

Langkah selanjutnya