Memecahkan Masalah Konektivitas Dataproc Metastore

Halaman ini memberikan panduan untuk mendiagnosis dan menyelesaikan masalah konektivitas umum saat menghubungkan cluster Dataproc atau workload Dataproc Serverless ke layanan Dataproc Metastore terkelola.

Gejala dan Pesan Error Umum

Saat Dataproc mengalami masalah konektivitas dengan Dataproc Metastore, Anda mungkin melihat error seperti:

  • Unable to connect to Hive Metastore
  • Connection refused
  • Host unreachable
  • javax.jdo.JDOException atau error koneksi database serupa
  • Error waktu tunggu saat mencoba mencantumkan database atau tabel, atau saat mengirimkan tugas Spark atau Hive yang berinteraksi dengan Metastore.

Penyebab Umum dan Langkah-Langkah Pemecahan Masalah

Bagian ini menguraikan alasan umum terjadinya masalah konektivitas Dataproc Metastore dan memberikan langkah-langkah pemecahan masalah khusus untuk setiap alasan.

1. Masalah Konfigurasi Jaringan

Kesalahan konfigurasi jaringan adalah penyebab paling sering terjadinya kegagalan konektivitas antara beban kerja Dataproc dan Dataproc Metastore.

  • Peering Jaringan Virtual Private Cloud atau Akses Layanan Pribadi:

    • Instance Dataproc Metastore biasanya diakses menggunakan rentang alamat IP pribadi menggunakan koneksi peering jaringan Virtual Private Cloud (khususnya, Private Service Access).
    • Verifikasi Status Peering: Verifikasi koneksi peering Virtual Private Cloud antara jaringan Virtual Private Cloud workload Dataproc Anda dan jaringan produsen layanan untuk Dataproc Metastore aktif dan berfungsi dengan baik. Anda dapat memeriksanya di konsolGoogle Cloud di bagian VPC Network > VPC Network Peering.
    • Alokasi Rentang IP: Pastikan rentang IP yang cukup telah dialokasikan untuk Akses Layanan Pribadi di jaringan Virtual Private Cloud Anda.
  • Aturan Firewall:

    • Pastikan aturan firewall di jaringan Virtual Private Cloud workload Dataproc Anda mengizinkan traffic keluar di port yang digunakan oleh Dataproc Metastore (defaultnya adalah 9083).
    • Pastikan tidak ada aturan masuk yang terlalu ketat di sisi jaringan produsen layanan yang akan memblokir traffic dari beban kerja Dataproc Anda.
  • Resolusi DNS:

    • Pastikan nama host endpoint Metastore (misalnya, your-metastore-endpoint.us-central1.dataproc.cloud.google.com) diselesaikan dengan benar ke alamat IP pribadi dari cluster Dataproc atau lingkungan Dataproc Serverless Anda.
    • Masalah pada zona pribadi Cloud DNS atau penerusan DNS dapat menyebabkan kegagalan resolusi.

Langkah-Langkah Pemecahan Masalah (Jaringan):

  1. Periksa Informasi Konektivitas Dataproc Metastore:
    • Di konsol Google Cloud , buka Dataproc Metastore, lalu pilih instance Anda.
    • Catat Endpoint URI dan Jaringan yang terhubung.
  2. Verifikasi Peering Virtual Private Cloud atau Akses Layanan Pribadi:
    • Buka VPC Network > VPC Network Peering. Pastikan koneksi peering ke servicenetworking-googleapis-com adalah ACTIVE.
  3. Gunakan Uji Konektivitas: Gunakan Uji Konektivitas untuk mendiagnosis jalur jaringan dari VM Compute Engine di subnet workload Dataproc ke alamat IP dan port endpoint Dataproc Metastore. Google Cloud
  4. Periksa Log Firewall: Jika aturan firewall dicurigai, analisis log Cloud Firewall untuk koneksi yang ditolak.

2. Izin IAM

Akun layanan yang digunakan oleh workload Dataproc Anda memerlukan peran IAM yang sesuai untuk mengakses Dataproc Metastore.

  • Peran yang Diperlukan: Akun layanan harus memiliki peran Pengguna Dataproc Metastore (roles/datametastore.user) di instance atau project Dataproc Metastore.
  • Izin Agen Layanan: Pastikan agen layanan Dataproc memiliki izin yang memadai jika Dataproc mengakses Metastore secara implisit.

Langkah-Langkah Pemecahan Masalah (IAM):

  1. Identifikasi Akun Layanan: Tentukan akun layanan yang digunakan oleh batch Dataproc Serverless atau cluster Dataproc Anda.
  2. Verifikasi Peran IAM: Buka IAM & Admin > IAM di konsol Google Cloud . Periksa peran yang ditetapkan ke akun layanan di project atau instance Dataproc Metastore. Berikan roles/datametastore.user jika tidak ada.
  3. Untuk mengetahui detail selengkapnya tentang konfigurasi akun layanan, lihat:

3. Konfigurasi Endpoint Salah

Beban kerja Dataproc harus dikonfigurasi dengan URI endpoint Dataproc Metastore yang benar.

Langkah-Langkah Pemecahan Masalah (Endpoint):

  1. Verifikasi URI Endpoint: Periksa kembali properti Spark hive.metastore.uris atau konfigurasi lain yang digunakan untuk menentukan endpoint Dataproc Metastore dalam pengiriman beban kerja Anda. Pastikan URI tersebut cocok dengan URI Endpoint dari detail instance Dataproc Metastore Anda.

4. Pertimbangan Lainnya

  • Status Metastore: Verifikasi bahwa instance Dataproc Metastore Anda berada dalam status HEALTHY di konsol Google Cloud . Jika tidak sehat, atasi masalah internal Metastore terlebih dahulu.
  • Kompatibilitas Versi: Meskipun jarang terjadi, verifikasi bahwa tidak ada masalah kompatibilitas yang diketahui antara versi image Dataproc dan versi Dataproc Metastore Anda.
  • Proxy SQL versus Layanan Terkelola: Jika Anda menggunakan Cloud SQL sebagai Metastore menggunakan tindakan inisialisasi cloud-sql-proxy.sh, lihat pemecahan masalah spesifiknya di README tindakan inisialisasi Proxy Cloud SQL.

Langkah berikutnya