Halaman ini menunjukkan cara menyiapkan layanan Metastore Dataproc multi-regional. Untuk mengetahui informasi selengkapnya tentang cara kerja layanan Dataproc Metastore multi-regional, lihat Region Dataproc Metastore.
Sebelum memulai
- Aktifkan Dataproc Metastore di project Anda.
- Pahami persyaratan jaringan khusus untuk project Anda.
- Pelajari region Metastore Dataproc dan pilih region yang sesuai.
Peran yang diperlukan
Untuk mendapatkan izin yang diperlukan guna membuat layanan Metastore Dataproc multi-regional, minta administrator untuk memberi Anda peran IAM berikut di project Anda, berdasarkan prinsip hak istimewa minimum:
-
Memberikan kontrol penuh atas resource Dataproc Metastore (
roles/metastore.editor
) -
Memberikan akses penuh ke semua resource Dataproc Metastore, termasuk administrasi kebijakan IAM (
roles/metastore.admin
)
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Peran bawaan ini berisi izin metastore.services.create
, yang diperlukan untuk membuat layanan Dataproc Metastore multi-regional.
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.
Untuk mengetahui informasi selengkapnya tentang peran dan izin Dataproc Metastore tertentu, lihat Mengelola akses dengan IAM.Tentang layanan Dataproc Metastore multi-regional
Layanan Dataproc Metastore multi-region menyimpan data Anda di dua
region yang berbeda dan menggunakan kedua region tersebut untuk menjalankan workload Anda. Misalnya,
multi-region nam7
berisi region us-central1
dan us-east4
.
Layanan Dataproc Metastore multi-regional mereplikasi metadata di dua region dan mengekspos endpoint yang relevan untuk mengakses Metastore Hive. Untuk gRPC, satu endpoint per region diekspos. Untuk Thrift, satu endpoint per subnetwork akan diekspos.
Layanan Metastore Dataproc multi-regional menyediakan konfigurasi cluster ketersediaan tinggi (HA) aktif-aktif. Konfigurasi ini berarti bahwa beban kerja dapat mengakses salah satu region saat menjalankan tugas. Layanan ini juga menyediakan mekanisme failover untuk layanan Anda. Misalnya, jika endpoint regional utama Anda mengalami gangguan, beban kerja Anda akan otomatis dirutekan ke region sekunder. Tindakan ini membantu mencegah gangguan pada tugas Dataproc Anda.
Pertimbangan
Pertimbangan berikut berlaku untuk layanan Dataproc Metastore multi-region.
Layanan multi-regional hanya mendukung jenis database Spanner. Periksa daftar fitur yang didukung sebelum Anda membuat layanan multi-regional.
Layanan multi-regional hanya mendukung konfigurasi Dataproc Metastore 2.
Layanan multi-regional membuat bucket artefak di lokasi multi-region Cloud Storage. Misalnya, bucket
Nam7
dibuat di lokasi multi-regionUS
.
Membuat layanan Dataproc Metastore multi-regional
Pilih salah satu tab berikut untuk mempelajari cara membuat layanan multi-regional menggunakan protokol endpoint Thrift atau gRPC, dengan layanan Dataproc Metastore 2.
gRPC
Saat membuat layanan multi-regional yang menggunakan protokol endpoint gRPC, Anda tidak perlu menetapkan setelan jaringan tertentu. Protokol gRPC menangani rute jaringan untuk Anda.
Konsol
Di konsol Google Cloud, buka halaman Dataproc Metastore.
Di menu navigasi, klik +Create.
Dialog Create Metastore service akan terbuka.
Pilih Dataproc Metastore 2.
Di bagian Harga dan Kapasitas, pilih Enterprise Plus - Dual region
Untuk Endpoint protocol, pilih gRPC.
Untuk membuat dan memulai layanan, klik Kirim.
Layanan metastore baru Anda akan muncul di halaman Dataproc Metastore. Status akan menampilkan Membuat hingga layanan siap digunakan. Jika sudah siap, statusnya akan berubah menjadi Aktif. Penyediaan layanan mungkin memerlukan waktu beberapa menit.
gcloud CLI
Untuk membuat layanan multi-regional Dataproc Metastore, jalankan perintah gcloud metastore services create
berikut. Perintah ini akan membuat Dataproc Metastore versi 3.1.2.
gcloud metastore services create SERVICE \ --location=MULTI_REGION \ { --instance-size=INSTANCE_SIZE | --scaling-factor=SCALING_FACTOR } \ --endpoint-protocol=grpc
Ganti kode berikut:
SERVICE
: nama layanan Metastore Dataproc Anda.MULTI_REGION
: multi-region tempat Anda membuat layanan Dataproc Metastore.INSTANCE_SIZE
: ukuran instance Dataproc Metastore multi-regional Anda. Misalnya,small
,medium
, ataularge
. Jika Anda menentukan nilai untukINSTANCE_SIZE
, jangan tentukan nilai untukSCALING_FACTOR
.SCALING_FACTOR
: faktor penskalaan layanan Dataproc Metastore Anda. Misalnya,0.1
. Jika Anda menentukan nilai untukSCALING_FACTOR
, jangan tentukan nilai untukINSTANCE_SIZE
.
Hemat
Saat membuat layanan multi-regional yang menggunakan protokol endpoint Thrift, Anda harus menetapkan setelan subjaringan yang sesuai. Dalam hal ini, untuk setiap jaringan VPC yang Anda gunakan, Anda harus menyediakan minimal satu subnetwork dari setiap region.
Misalnya, untuk membuat multi-region nam7
, Anda harus memberikan region us-central1
dan us-east4
.
Konsol
Di konsol Google Cloud, buka halaman Dataproc Metastore.
Di menu navigasi, klik +Create.
Dialog Create Metastore service akan terbuka.
Pilih Dataproc Metastore 2.
Di bagian Harga dan Kapasitas, pilih Enterprise Plus - Dual region.
Untuk mengetahui informasi selengkapnya, lihat paket harga dan konfigurasi penskalaan.
Di kolom Nama layanan, masukkan nama unik untuk layanan Anda.
Untuk informasi tentang konvensi penamaan, lihat Konvensi penamaan resource.
Untuk Endpoint protocol, pilih Thrift.
Untuk Network Config, berikan subnetwork yang membentuk konfigurasi multi-regional yang Anda pilih.
Untuk opsi konfigurasi layanan lainnya, gunakan setelan default yang disediakan.
Untuk membuat dan memulai layanan, klik Kirim.
Layanan metastore baru Anda akan muncul di halaman Dataproc Metastore. Status akan menampilkan Membuat hingga layanan siap digunakan. Jika sudah siap, statusnya akan berubah menjadi Aktif. Penyediaan layanan mungkin memerlukan waktu beberapa menit.
gcloud CLI
Untuk membuat layanan multi-regional Dataproc Metastore, jalankan perintah gcloud metastore services create
berikut.
Perintah ini akan membuat Dataproc Metastore versi 3.1.2.
gcloud metastore services create SERVICE \ --location=MULTI_REGION \ --consumer-subnetworks="projects/PROJECT_ID/regions/LOCATION1/subnetworks/SUBNET1,projects/PROJECT_ID/regions/LOCATION2/subnetworks/SUBNET2" \ { --instance-size=INSTANCE_SIZE | --scaling-factor=SCALING_FACTOR } \ --endpoint-protocol=thrift
Atau, Anda dapat menyimpan setelan jaringan dalam file, seperti yang ditunjukkan dalam perintah berikut.
gcloud metastore services create SERVICE \ --location=MULTI_REGION \ --network-config-from-file=NETWORK_CONFIG_FROM_FILE { --instance-size=INSTANCE_SIZE | --scaling-factor=SCALING_FACTOR } \ --endpoint-protocol=thrift
Ganti kode berikut:
SERVICE
: nama layanan Metastore Dataproc Anda.MULTI_REGION
: multi-region tempat Anda membuat layanan Dataproc Metastore.PROJECT_ID
: project ID Google Cloud tempat Anda membuat layanan Dataproc Metastore.SUBNET1
,SUBNET2
: daftar subjaringan yang membentuk konfigurasi multi-regional. Anda dapat menggunakan ID, URL yang sepenuhnya memenuhi syarat, atau nama relatif subnetwork. Anda dapat menentukan hingga enam subnetwork.LOCATION1
,LOCATION2
: daftar lokasi yang membentuk konfigurasi multi-regional. Anda dapat menggunakan ID lokasi. Misalnya, untuk multi-regionnam7
, Anda menggunakanus-central1
danus-east4
.NETWORK_CONFIG_FROM_FILE
: jalur ke file YAML yang berisi konfigurasi jaringan Anda.INSTANCE_SIZE
: ukuran instance Dataproc Metastore multi-regional Anda. Misalnya,small
,medium
, ataularge
. Jika Anda menentukan nilai untukINSTANCE_SIZE
, jangan tentukan nilai untukSCALING_FACTOR
.SCALING_FACTOR
: faktor penskalaan layanan Dataproc Metastore Anda. Misalnya,0.1
. Jika Anda menentukan nilai untukSCALING_FACTOR
, jangan tentukan nilai untukINSTANCE_SIZE
.
REST
Untuk mempelajari cara membuat layanan Dataproc Metastore multi-regional, ikuti petunjuk untuk membuat layanan menggunakan Google APIs Explorer.
Untuk mengonfigurasi layanan multi-regional, berikan informasi berikut
dalam objek Network Config
.
"network_config": { "consumers": [ {"subnetwork": "projects/PROJECT_ID/regions/LOCATION/subnetworks/SUBNET1"}, {"subnetwork": "projects/PROJECT_ID/regions/LOCATION/subnetworks/SUBNET2"} ], "scaling_config": { "scaling_factor": SCALING_FACTOR } }
Ganti kode berikut:
PROJECT_ID
: project ID Google Cloud dari project yang berisi layanan Metastore Dataproc Anda.LOCATION
: region Google Cloud tempat layanan Metastore Dataproc Anda berada.SUBNET1
,SUBNET2
: daftar subnetwork yang membentuk konfigurasi multi-regional. Anda dapat menggunakan ID, URL yang sepenuhnya memenuhi syarat, atau nama relatif subnetwork. Anda dapat menentukan hingga lima subnetwork.SCALING_FACTOR
: faktor penskalaan yang ingin Anda gunakan untuk layanan.
Menghubungkan Metastore Dataproc ke cluster Dataproc
Pilih salah satu tab berikut untuk mempelajari cara menghubungkan layanan Dataproc Metastore multi-regional dari cluster Dataproc.
gRPC
Untuk menghubungkan cluster Dataproc, pilih tab yang sesuai dengan versi Dataproc Metastore yang Anda gunakan.
Dataproc Metastore 3.1.2
Buat variabel berikut untuk cluster Dataproc Anda:
CLUSTER_NAME=CLUSTER_NAME PROJECT_ID=PROJECT_ID MULTI_REGION=MULTI_REGION DATAPROC_IMAGE_VERSION=DATAPROC_IMAGE_VERSION PROJECT=PROJECT SERVICE_ID=SERVICE_ID
Ganti kode berikut:
CLUSTER_NAME
: nama cluster Dataproc Anda.PROJECT_ID
: project Google Cloud yang berisi cluster Dataproc Anda. Pastikan subnet yang Anda gunakan memiliki izin yang sesuai untuk mengakses project ini.MULTI_REGION
: multi-region Google Cloud tempat Anda ingin membuat cluster Dataproc.DATAPROC_IMAGE_VERSION
: versi image Dataproc yang Anda gunakan dengan layanan Dataproc Metastore. Anda harus menggunakan versi gambar2.0
atau yang lebih tinggi.PROJECT
: project yang berisi layanan Dataproc Metastore Anda.SERVICE_ID
: ID layanan layanan Dataproc Metastore Anda.
Untuk membuat cluster, jalankan perintah
gcloud dataproc clusters create
berikut.--enable-kerberos
bersifat opsional. Hanya sertakan opsi ini jika Anda menggunakan kerberos dengan cluster.gcloud dataproc clusters create ${CLUSTER_NAME} \ --project ${PROJECT_ID} \ --region ${MULTI_REGION} \ --image-version ${DATAPROC_IMAGE_VERSION} \ --scopes "https://www.googleapis.com/auth/cloud-platform" \ --dataproc-metastore projects/${PROJECT}/locations/${MULTI_REGION}/services/${SERVICE_ID} \ [ --enable-kerberos ]
Dataproc Metastore 2.3.6
Buat variabel berikut untuk layanan Dataproc Metastore Anda:
METASTORE_PROJECT=METASTORE_PROJECT METASTORE_ID=METASTORE_ID MULTI_REGION=MULTI_REGION SUBNET=SUBNET
Ganti kode berikut:
METASTORE_PROJECT
: project Google Cloud yang berisi layanan Metastore Dataproc Anda.METASTORE_ID
: ID layanan layanan Dataproc Metastore Anda.MULTI_REGION
: lokasi multi-region yang ingin Anda gunakan untuk layanan Dataproc Metastore.SUBNET
: salah satu subnet yang Anda gunakan untuk layanan Dataproc Metastore. Atau subnetwork apa pun di jaringan VPC induk dari subnetwork yang digunakan untuk layanan Anda.
Buat variabel berikut untuk cluster Dataproc Anda:
CLUSTER_NAME=CLUSTER_NAME DATAPROC_PROJECT=DATAPROC_PROJECT DATAPROC_REGION=DATAPROC_REGION HIVE_VERSION=HIVE_VERSION IMAGE_VERSION=
r>IMAGE_VERSION Ganti kode berikut:
CLUSTER_NAME
: nama cluster Dataproc Anda.DATAPROC_PROJECT
: project Google Cloud yang berisi cluster Dataproc Anda. Pastikan subnet yang Anda gunakan memiliki izin yang sesuai untuk mengakses project ini.DATAPROC_REGION
: region Google Cloud tempat Anda ingin membuat cluster Dataproc.HIVE_VERSION
: versi Hive yang digunakan oleh layanan Dataproc Metastore Anda.IMAGE_VERSION
: versi image Dataproc yang Anda gunakan dengan layanan Dataproc Metastore.- Untuk Hive Metastore versi 2.0, gunakan versi image
1.5
. - Untuk Hive Metastore versi 3.1.2, gunakan versi image
2.0
.
- Untuk Hive Metastore versi 2.0, gunakan versi image
Ambil direktori warehouse layanan Dataproc Metastore Anda dan simpan dalam variabel.
WAREHOUSE_DIR=$(gcloud metastore services describe "${METASTORE_ID}" --project "${METASTORE_PROJECT}" --location "${MULTI_REGION}" --format="get(hiveMetastoreConfig.configOverrides[hive.metastore.warehouse.dir])")
Buat cluster Dataproc yang dikonfigurasi dengan Metastore Dataproc multi-regional.
gcloud dataproc clusters create ${CLUSTER_NAME} \ --project "${DATAPROC_PROJECT}" \ --region ${DATAPROC_REGION} \ --scopes "https://www.googleapis.com/auth/cloud-platform" \ --subnet "${SUBNET}" \ --optional-components=DOCKER \ --image-version ${IMAGE_VERSION} \ --metadata "hive-version=${HIVE_VERSION},dpms-name=${DPMS_NAME}" \ --properties "hive:hive.metastore.uris=thrift://localhost:9083,hive:hive.metastore.warehouse.dir=${WAREHOUSE_DIR}" \ --initialization-actions gs://metastore-init-actions/mr-metastore-grpc-proxy/metastore-grpc-proxy.sh
Hemat
Opsi 1: Mengedit file hive-site.xml
- Temukan URI endpoint dan direktori warehouse dari layanan Dataproc Metastore Anda. Anda dapat memilih salah satu endpoint yang ditampilkan.
- Di konsol Google Cloud, buka halaman VM Instances.
Dalam daftar instance virtual machine, klik SSH di baris node utama Dataproc (
.*-m
).Jendela browser akan terbuka di direktori beranda Anda di node.
Buka file
/etc/hive/conf/hive-site.xml
.sudo vim /etc/hive/conf/hive-site.xml
Anda akan melihat output yang mirip dengan berikut ini:
<property> <name>hive.metastore.uris</name> <value>ENDPOINT_URI</value> </property> <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 warehouse Hive Anda.
Mulai ulang HiveServer2:
sudo systemctl restart hive-server2.service
Opsi 2: Menggunakan gcloud CLI
Jalankan perintah gcloud dataproc clusters create
gcloud CLI berikut.
- Temukan URI endpoint dan direktori warehouse dari layanan Dataproc Metastore Anda. Anda dapat memilih salah satu endpoint yang ditampilkan.
gcloud dataproc clusters create CLUSTER_NAME \ --network NETWORK \ --project PROJECT_ID \ --scopes "https://www.googleapis.com/auth/cloud-platform" \ --image-version IMAGE_VERSION \ --properties "hive:hive.metastore.uris=ENDPOINT,hive:hive.metastore.warehouse.dir=WAREHOUSE_DIR"
Ganti kode berikut:
CLUSTER_NAME
: nama cluster Dataproc Anda.NETWORK
: project Google Cloud yang berisi cluster Dataproc Anda. Pastikan subnet yang Anda gunakan memiliki izin yang sesuai untuk mengakses project ini.PROJECT_ID
: versi Hive yang digunakan oleh layanan Dataproc Metastore Anda.IMAGE_VERSION
: versi image Dataproc yang Anda gunakan dengan layanan Dataproc Metastore.- Untuk Hive Metastore versi 2.0, gunakan versi image
1.5
. - Untuk Hive Metastore versi 3.1.2, gunakan versi image
2.0
.
- Untuk Hive Metastore versi 2.0, gunakan versi image
ENDPOINT
: endpoint Thrift yang digunakan Dataproc Metastore Anda.WAREHOUSE_DIR
: direktori warehouse Metastore Dataproc Anda.
Konfigurasi wilayah kustom
Anda dapat mengonfigurasi layanan Dataproc Metastore untuk menggunakan konfigurasi wilayah kustom.
Konfigurasi region kustom memungkinkan layanan Anda menjalankan workload dari dua region terpisah. Hal ini memberikan redundansi di seluruh region, yang berarti bahwa workload dapat mengakses salah satu region saat menjalankan tugas. Layanan ini juga menyediakan mekanisme failover untuk layanan Anda. Misalnya, jika salah satu endpoint regional mengalami gangguan, workload Anda akan otomatis dirutekan ke region lain. Hal ini membantu mencegah gangguan pada beban kerja dan tugas Anda.
Konfigurasi region kustom juga memungkinkan Anda mengontrol tempat penyimpanan metadata dan tempat mengekspos endpoint Hive Metastore. Hal ini dapat meningkatkan performa saat memproses beban kerja.
Pertimbangan
Pertimbangan berikut berlaku untuk layanan Dataproc Metastore yang dikonfigurasi dengan konfigurasi region kustom:
- Pembatasan Wilayah/Penyambungan: Tidak semua wilayah dan kombinasi diizinkan.
- Batasan Khusus Baca: Region khusus baca tidak dapat menerima operasi tulis. Jika region hanya baca dipilih dan region baca-tulis tidak dapat dijangkau, proses tulis akan gagal.
- Ketidakberubahan Konfigurasi: Setelah ditetapkan, konfigurasi region tidak dapat diubah.
- Khusus Stack AS: Region ganda kustom hanya mendukung stack
US
dan dibatasi pada batas AS.
Membuat layanan region kustom
Untuk menyiapkan region kustom, pilih dua region yang berdekatan saat Anda membuat layanan. Kombinasi ini dapat berupa dua region baca-tulis atau satu region baca-tulis dan satu region hanya baca.
Konsol
Di konsol Google Cloud, buka halaman Dataproc Metastore.
Di menu navigasi, klik +Create.
Dialog Create Metastore service akan terbuka.
Pilih Dataproc Metastore 2.
Di bagian Harga dan Kapasitas, pilih Enterprise Plus - Dual region.
Di kolom Nama layanan, masukkan nama unik untuk layanan Anda.
Untuk data location, pilih US (continent).
Bagian Wilayah kustom akan muncul.
Di bagian Custom regions, pilih region Read-write dan region Read-only.
Untuk opsi konfigurasi layanan lainnya, gunakan setelan default yang disediakan.
Untuk membuat dan memulai layanan, klik Kirim.
Layanan metastore baru Anda akan muncul di halaman Dataproc Metastore. Status akan menampilkan Membuat hingga layanan siap digunakan. Jika sudah siap, statusnya akan berubah menjadi Aktif. Penyediaan layanan mungkin memerlukan waktu beberapa menit.
gcloud
Untuk membuat layanan Metastore Dataproc dengan region kustom, jalankan perintah gcloud beta metastore services create
gcloud CLI berikut.
gcloud beta metastore services create SERVICE \ --read-write-regions
Ganti kode berikut:
SERVICE
: nama layanan Metastore Dataproc Anda.READ_WRITE_REGIONS
: Region baca tulis yang didukung yang merupakan bagian dari konfigurasi region kustom Anda.READ_ONLY_REGIONS
: Region hanya baca yang didukung dan merupakan bagian dari konfigurasi region kustom Anda.