Setelah membuat layanan Dataproc Metastore, Anda dapat melampirkan salah satu layanan berikut:
- Cluster Dataproc.
- Instance Apache Hive yang dikelola sendiri, instance Apache Spark, atau cluster Presto.
Setelah Anda menghubungkan salah satu layanan ini, layanan Dataproc Metastore Anda akan digunakan sebagai metastore Hive selama eksekusi kueri.
Sebelum memulai
- Aktifkan Dataproc Metastore di project Anda.
- Buat layanan Dataproc Metastore.
- Memahami persyaratan jaringan khusus untuk project Anda.
Peran yang Diperlukan
Untuk mendapatkan izin yang diperlukan untuk membuat Dataproc Metastore dan cluster Dataproc, minta administrator untuk memberi Anda peran IAM berikut:
-
Untuk memberikan kontrol penuh atas resource Dataproc Metastore:
-
Editor Metastore Dataproc (
roles/metastore.editor
) di akun pengguna atau akun layanan -
Dataproc Metastore Admin (
roles/metastore.admin
) di akun pengguna atau akun layanan
-
Editor Metastore Dataproc (
-
Untuk membuat cluster Dataproc:
(
roles/dataproc.worker
) di akun layanan VM Dataproc -
Untuk memberikan izin baca dan tulis ke direktori gudang Hive:
(
roles/storage.objectAdmin
) pada akun layanan VM Dataproc
Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses.
Peran yang telah ditetapkan ini berisi izin yang diperlukan untuk membuat Metastore Dataproc dan cluster Dataproc. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk membuat Metastore Dataproc dan cluster Dataproc:
-
Untuk membuat Dataproc Metastore:
metastore.services.create
pada akun pengguna atau akun layanan -
Untuk membuat cluster Dataproc:
dataproc.clusters.create
pada akun pengguna atau akun layanan -
Untuk mengakses direktori warehouse Hive:
orgpolicy.policy.get1
,resourcemanager.projects.get
,resourcemanager.projects.list
,storage.objects.*
,storage.multipartUploads.*
Anda mung juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaanlainnya.
Untuk mengetahui informasi selengkapnya tentang peran dan izin Dataproc Metastore tertentu, lihat Mengelola akses dengan IAM.Cluster Dataproc
Dataproc adalah layanan Apache Spark dan Apache Hadoop terkelola yang memungkinkan Anda memanfaatkan alat data open source untuk batch processing, pembuatan kueri, streaming, dan machine learning.
Pertimbangan
Sebelum membuat dan memasang cluster Dataproc, periksa protokol endpoint apa yang digunakan layanan Dataproc Metastore Anda. Protokol ini menentukan cara klien Hive Metastore mengakses metadata yang disimpan di Dataproc Metastore Anda. Pilihan ini juga dapat memengaruhi fitur yang dapat Anda integrasikan dan gunakan dengan layanan Anda.
Apache Hemat
Jika Anda menggunakan protokol endpoint Apache Thrift, pertimbangkan persyaratan jaringan berikut:
Secara default, Anda harus membuat cluster Dataproc dan layanan Dataproc Metastore di jaringan yang sama. Cluster Dataproc juga dapat menggunakan subnet jaringan layanan Dataproc Metastore.
Jika cluster Dataproc Anda termasuk dalam project yang berbeda dengan jaringan, Anda harus mengonfigurasi izin jaringan bersama.
Jika cluster Dataproc Anda termasuk dalam project yang berbeda dengan layanan Dataproc Metastore, Anda harus menyiapkan izin tambahan sebelum membuat cluster Dataproc.
gRPC
Jika Anda menggunakan protokol endpoint gRPC, pertimbangkan persyaratan jaringan berikut:
Setelah membuat Dataproc Metastore menggunakan protokol endpoint gRPC, Anda harus memberikan peran IAM tambahan.
Jika menggunakan Autentikasi Cluster Pribadi Dataproc, Dataproc Metastore harus menggunakan protokol endpoint gRPC.
Jika cluster Dataproc Anda termasuk dalam project yang berbeda dengan layanan Dataproc Metastore, Anda harus menyiapkan izin tambahan sebelum membuat cluster Dataproc.
Membuat cluster dan melampirkan Dataproc Metastore
Petunjuk berikut menunjukkan cara membuat cluster Dataproc dan menghubungkannya dari layanan Dataproc Metastore. Petunjuk ini mengasumsikan bahwa Anda telah Membuat layanan Dataproc Metastore.
- Sebelum membuat cluster Dataproc, pastikan image Dataproc yang Anda pilih kompatibel dengan versi metastore Hive yang Anda pilih saat membuat Dataproc Metastore. Untuk mengetahui informasi selengkapnya, lihat daftar versi Image Dataproc.
Untuk mengoptimalkan konektivitas jaringan, buat cluster Dataproc di region yang sama dengan layanan Dataproc Metastore Anda.
Konsol
Di Konsol Google Cloud, buka halaman Buat cluster Dataproc:
Di kolom Nama Cluster, masukkan nama cluster Anda.
Untuk menu Region dan Zone, pilih region yang sama dengan tempat Anda membuat layanan Dataproc Metastore. Anda dapat memilih Zona apa pun.
Klik tab Customize cluster.
Di bagian Network configuration, pilih jaringan yang sama dengan tempat Anda membuat layanan Dataproc Metastore.
Di bagian Dataproc Metastore, pilih layanan Dataproc Metastore yang ingin Anda lampirkan. Jika belum membuatnya, Anda dapat memilih Create New Service.
Opsional: Jika layanan Dataproc Metastore Anda menggunakan protokol endpoint gRPC:
- Klik tab Kelola Keamanan.
- Di bagian Project Acces, pilih Enables the cloud-platform scope for this cluster.
Konfigurasikan opsi layanan lainnya sesuai kebutuhan.
Untuk membuat cluster, klik Buat.
Cluster baru akan muncul dalam daftar Cluster. Status cluster akan tercantum sebagai Penyediaan hingga cluster siap digunakan. Jika sudah siap digunakan, statusnya akan berubah menjadi Running.
gcloud CLI
Untuk membuat cluster dan melampirkan Dataproc Metastore, jalankan perintah gcloud dataproc clusters create
berikut:
gcloud dataproc clusters create CLUSTER_NAME \ --dataproc-metastore=projects/PROJECT_ID/locations/LOCATION/services/SERVICE \ --region=LOCATION \ --scopes=SCOPES
Ganti kode berikut:
CLUSTER_NAME
: nama cluster Dataproc baru Anda.PROJECT_ID
: project ID untuk project tempat Anda membuat layanan Dataproc Metastore.LOCATION
: region yang sama dengan tempat Anda membuat layanan Dataproc Metastore.SERVICE
: nama layanan Dataproc Metastore yang Anda lampirkan ke cluster.SCOPES
: (Opsional) Jika layanan Dataproc Metastore Anda menggunakan protokol endpoint gRPC, gunakancloud-platform
.
REST
Ikuti petunjuk API untuk membuat cluster menggunakan APIs Explorer.
Lampirkan cluster menggunakan properti cluster Dataproc
Anda juga dapat melampirkan cluster Dataproc ke Dataproc Metastore menggunakan properti Dataproc.
Properti ini mencakup ENDPOINT_URI
dan WAREHOUSE_DIR
Dataproc Metastore.
Gunakan petunjuk ini jika layanan Dataproc Metastore Anda menggunakan Private Service Connect atau jika Anda ingin melampirkan cluster Dataproc ke versi tambahan layanan Dataproc Metastore Anda.
Ada dua cara untuk melampirkan cluster Dataproc menggunakan properti ENDPOINT_URI
dan WAREHOUSE_DIR
:
Opsi 1: Saat membuat cluster Dataproc
Saat membuat cluster Dataproc, gunakan flag properti dengan konfigurasi Hive berikut.
gcloud dataproc clusters create CLUSTER_NAME \ --properties="hive:hive.metastore.uris=ENDPOINT_URI,hive:hive.metastore.warehouse.dir=WAREHOUSE_DIR/hive-warehouse"
Ganti kode berikut:
CLUSTER_NAME
: nama cluster Dataproc baru Anda.ENDPOINT_URI
: URI endpoint layanan Dataproc Metastore Anda.WAREHOUSE_DIR
: Lokasi direktori gudang Hive Anda.
Opsi 2: Update file hive-site.xml
Anda juga dapat melampirkan cluster Dataproc dengan langsung mengubah file hive-site.xml
cluster.
- Hubungkan ke cluster
.*-m
menggunakan SSH. Buka file
/etc/hive/conf/hive-site.xml
dan ubah baris berikut:<property> <name>hive.metastore.uris</name> <!-- Update this value. --> <value>ENDPOINT_URI</value> </property> <!-- Add this property entry. --> <property> <name>hive.metastore.warehouse.dir</name> <value>WAREHOUSE_DIR</value> </property>
Ganti kode berikut:
ENDPOINT_URI
: URI endpoint layanan Dataproc Metastore Anda.WAREHOUSE_DIR
: Lokasi direktori gudang Hive Anda.
Mulai ulang HiveServer2:
sudo systemctl restart hive-server2.service
Cluster yang dikelola sendiri
Cluster yang dikelola sendiri dapat berupa instance Apache Hive, instance Apache Spark, atau cluster Presto.
Melampirkan cluster yang dikelola sendiri
Tetapkan nilai berikut di file konfigurasi klien Anda:
hive.metastore.uris=ENDPOINT_URI
hive.metastore.warehouse.dir=WAREHOUSE_DIR
Ganti kode berikut:
ENDPOINT_URI
: URI endpoint layanan Dataproc Metastore Anda.WAREHOUSE_DIR
: Lokasi direktori gudang Hive Anda.