Migrasi terkelola adalah fitur otomatis yang membantu Anda memigrasikan data dari Hive Metastore yang dikelola sendiri ke layanan Dataproc Metastore, tanpa waktu nonaktif yang cukup besar (atau dikenal sebagai hari penandaan).
Cara kerja migrasi terkelola
Untuk menyelesaikan migrasi terkelola, layanan Anda harus menjalankan dua proses migrasi—mulai migrasi dan selesaikan migrasi. Anda dapat membatalkan migrasi kapan saja dengan proses batalkan migrasi. Ada juga sejumlah perintah operasional yang dapat Anda jalankan, yang tidak diperlukan untuk menyelesaikan migrasi. Misalnya, cantumkan migrasi atau hapus migrasi.
Saat bergerak dalam proses ini, layanan Anda juga berpindah antara berbagai
status migrasi dan fase migrasi. Status dan fase ini mewakili
proses yang terjadi di latar belakang. Misalnya, status MIGRATING
menunjukkan bahwa layanan Anda secara aktif mentransfer data dari database Cloud SQL ke Dataproc Metastore.
Migrasi terkelola memerlukan tiga subnet untuk menjalankan migrasi: proxy_subnet
,
nat_subnet
, dan reverse_proxy_subnet
. Untuk menghindari masalah latensi, konfigurasikan hal berikut:
proxy_subnet
dannat_subnet
berada di region yang sama dengan Cloud SQL.reverse_proxy_subnet
berada di region yang sama dengan layanan Metastore Dataproc.
Untuk mengetahui informasi selengkapnya tentang berbagai jenis subnet, lihat Tujuan subnet.
Alur migrasi terkelola
Mulai Migrasi
- Anda menjalankan proses mulai migrasi pada layanan Dataproc Metastore.
Layanan Metastore Dataproc Anda terhubung ke database Cloud SQL, yang bertindak sebagai database backend untuk metastore Hive yang dikelola sendiri. Pada langkah ini, database Cloud SQL masih menjadi sumber kebenaran untuk data Anda.
Dataproc Metastore menjalankan aliran Change Data Capture (CDC) yang menyalin data dari database Cloud SQL ke database Metastore Dataproc (Cloud Spanner).
Setelah migrasi awal berhasil, Anda dapat mulai merutekan beban kerja ke Dataproc Metastore. Pada titik ini, Cloud SQL masih menjadi sumber kebenaran untuk data Anda.
Selesaikan migrasi
Setelah selesai memindahkan beban kerja ke Dataproc Metastore, Anda dapat menyelesaikan migrasi. Saat proses migrasi lengkap dipanggil, hal berikut akan terjadi:
- Metastore Dataproc bertransisi ke mode hanya baca hingga proses migrasi yang lengkap selesai.
- Aliran CDC mentransfer semua data yang sedang berlangsung ke Dataproc Metastore.
- Dataproc Metastore terhubung ke Spanner dan terputus dari Cloud SQL. Dataproc Metastore sekarang berfungsi sebagai sumber kebenaran untuk data Anda.
Sebelum memulai
Untuk memulai migrasi, Anda harus menyiapkan atau memiliki akses ke layanan berikut:
- Dataproc Metastore yang dikonfigurasi dengan jenis database Spanner.
Instance database Cloud SQL untuk MySQL yang dikonfigurasi dengan IP Pribadi.
Jaringan VPC instance Cloud SQL memiliki subnet yang diperlukan.
Cloud SQL menggunakan database dengan skema yang kompatibel dengan versi metastore Hive yang berjalan di layanan Dataproc Metastore yang menjadi tujuan penyalinan data.
Siapkan Cloud SQL untuk digunakan sebagai sumber Datastream. Buat nama pengguna dan sandi untuk menghubungkan Datastream ke Cloud SQL.
Peran yang Diperlukan
Untuk mendapatkan izin yang Anda perlukan untuk membuat Metastore Dataproc dan memulai migrasi terkelola, minta administrator untuk memberi Anda peran IAM berikut:
-
Untuk memberikan akses penuh ke semua resource Dataproc Metastore, termasuk menetapkan izin IAM:
Admin Metastore Dataproc (
roles/metastore.admin
) di akun pengguna atau akun layanan Dataproc Metastore -
Untuk memberikan kontrol penuh atas resource Dataproc Metastore:
Dataproc Metastore Editor (
roles/metastore.editor
) di akun pengguna atau akun layanan Dataproc Metastore -
Untuk membuat migrasi terkelola:
Admin Migrasi (
roles/metastore.migrationAdmin
) di [agen layanan][7] Dataproc Metastore -
Untuk menggunakan objek Cloud Storage dengan Datastream:
-
Storage Object Viewer (
roles/storage.objectViewer
) di akun agen layanan Datastream. -
Storage Object Creator (
roles/storage.objectCreator
) di akun agen layanan Datastream -
Storage Legacy Bucket Reader (
roles/storage.legacyBucketReader
) di akun agen layanan Datastream.
-
Storage Object Viewer (
Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
Mengonfigurasi migrasi terkelola
Anda dapat mengonfigurasi migrasi menggunakan Dataproc Metastore API.
Layanan Metastore Dataproc hanya dapat menjalankan satu migrasi dalam satu waktu.
Mulai migrasi
Saat Anda memulai migrasi, Dataproc Metastore terhubung ke Cloud SQL dan menggunakan Cloud SQL sebagai database backend-nya. Selama proses ini, Dataproc Metastore menjalankan pipeline yang menyalin data dari Cloud SQL ke database-nya sendiri (Spanner).
Migrasi awal memicu perubahan status berikut:
- Metastore Dataproc berpindah ke status
MIGRATING
. - Status eksekusi migrasi berpindah ke
RUNNING
. - Fase eksekusi migrasi berpindah ke
REPLICATION
.
Metastore Dataproc akan terus menggunakan Cloud SQL sebagai backend dan mereplikasi data hingga proses migrasi lengkap dipanggil.
Konsol
Mulai
Di konsol Google Cloud, buka halaman Dataproc Metastore:
Di halaman Dataproc Metastore, klik nama layanan yang menjadi tujuan migrasi Anda.
Halaman Detail layanan akan terbuka.
Di bagian atas halaman, klik Migrasikan Data.
Halaman Create migration akan terbuka di tab Connectivity dan menampilkan setelan konfigurasi Cloud SQL database configuration untuk Dataproc Metastore.
Konfigurasi database Cloud SQL untuk DPMS
Pada Instance connection name, masukkan nama koneksi instance database Cloud SQL, dalam format berikut:
PROJECT_ID/LOCATION/CLOUDSQL_INSTANCE_ID
.Di kolom IP address, masukkan alamat IP yang diperlukan untuk terhubung ke instance Cloud SQL.
Di kolom Port, masukkan 3306.
Di kolom Hive database name, masukkan nama database yang sedang digunakan sebagai backend metastore Hive yang dikelola sendiri.
Di kolom Username, masukkan nama pengguna yang Anda gunakan untuk menghubungkan Cloud SQL ke Hive Metastore.
Di kolom Password, masukkan sandi yang Anda gunakan untuk menghubungkan Cloud SQL ke Hive Metastore.
Layanan proxy SOCKS5
Di kolom Subnet proxy, masukkan subnetwork yang digunakan di jaringan VPC Cloud SQL. Subnet ini digunakan untuk men-deploy proxy SOCKS5 menengah.
Di kolom Nat subnet, masukkan Subnet Private Service Connect yang menyediakan koneksi dari layanan Dataproc Metastore untuk mengakses proxy perantara. Ukuran subnet harus memiliki panjang awalan minimal /29.
Klik Lanjutkan.
Tab Change Data Capture (CDC) akan terbuka dan menampilkan setelan konfigurasi Cloud SQL database configuration for Datastream.
Konfigurasi database Cloud SQL untuk aliran data
Di kolom Username, masukkan nama pengguna yang Anda gunakan untuk login ke CDC Cloud SQL yang digunakan oleh Datastream.
Di kolom Password, masukkan sandi yang digunakan untuk login ke CDC Cloud SQL yang digunakan oleh Datastream.
Di kolom VPC network, masukkan jaringan di jaringan VPC yang sama dengan instance Cloud SQL yang digunakan oleh Datastream untuk membuat koneksi pribadi ke CDC.
Di kolom Subnet IP range, masukkan rentang IP subnet minimal /29. Datastream menggunakan IP ini untuk melakukan peering ke jaringan VPC.
Di kolom Reverse proxy subnet, masukkan subnetwork yang Anda buat di jaringan VPC yang sama dengan Cloud SQL. Datastream menggunakan subnetwork ini. Subnetwork digunakan untuk menghosting koneksi proxy terbalik untuk Datastream CDC. Subnet harus dikonfigurasi di region yang sama dengan layanan Dataproc Metastore.
Konfigurasi GCS
Untuk Bucket ID, pilih jalur Cloud Storage untuk menyimpan data CDC selama migrasi.
Di kolom Root path, masukkan jalur root di dalam bucket Cloud Storage. Data peristiwa aliran data ditulis ke jalur ini.
Klik Create.
REST
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type:application/json" \
-X POST -d \
'{
"migration_execution": {
"cloud_sql_migration_config": {
"cloud_sql_connection_config": {
"instance_connection_name": INSTANCE_CONNECTION_NAME,
"hive_database_name": "HIVE_DATABASE_NAME",
"ip_address": "IP_ADDRESS",
"port": 3306,
"username": "CONNECTION_USERNAME",
"password": "CONNECTION_PASSWORD",
"proxy_subnet": "PROXY_SUBNET",
"nat_subnet": "NAT_SUBNET"
},
"cdc_config": {
"username": "CDC_USENAME",
"password": "CDC_PASSWORD",
"vpc_network": "VPC_NETWORK",
"subnet_ip_range": "SUBNET_IP_RANGE",
"reverse_proxy_subnet": "REVERSE_PROXY_SUBNET_ID",
"bucket": "BUCKET_NAME",
"root_path": "ROOT_PATH",
}
}
}
}' \
https://metastore.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/services/SERVICE:startMigration
Ganti kode berikut:
SERVICE
: nama atau ID layanan Metastore Dataproc Anda.PROJECT_ID
: project ID untuk project Google Cloud tempat layanan Dataproc Metastore Anda berada.LOCATION
: region Google Cloud tempat layanan Dataproc Metastore Anda berada.
Konfigurasi Migrasi Cloud SQL
INSTANCE_CONNECTION_NAME
: nama koneksi instance untuk database Cloud SQL, dalam format berikut:PROJECT_ID/LOCATION/CLOUDSQL_INSTANCE_ID
.HIVE_DATABASE_NAME
: nama database Hive yang dikelola sendiri dan terhubung ke Cloud SQL.IP_ADDRESS
: alamat IP yang diperlukan untuk terhubung ke instance Cloud SQL.CONNECTION_USERNAME
: nama pengguna yang Anda gunakan untuk menghubungkan Cloud SQL ke Metastore Hive.CONNECTION_PASSWORD
sandi yang Anda gunakan untuk menghubungkan Cloud SQL ke Hive MetastorePROXY_SUBNET
: subnetwork yang digunakan di jaringan VPC Cloud SQL. Subnetwork ini menghosting proxy perantara untuk menyediakan konektivitas di seluruh jaringan transitif.NAT_SUBNET
: subnet Private Service Connect yang menyediakan koneksi dari layanan Dataproc Metastore untuk mengakses proxy perantara. Ukuran subnet harus memiliki panjang awalan minimal /29 dan dalam rentang IPv4.
Konfigurasi CDC
CDC_USERNAME
: nama pengguna yang digunakan layanan Datastream untuk login ke Cloud SQL.CDC_PASSWORD
: sandi yang digunakan layanan Datastream untuk login ke Cloud SQL.VPC_NETWORK
: jaringan di jaringan VPC yang sama dengan instance Cloud SQL yang digunakan oleh Datastream untuk membuat koneksi pribadi ke CDC.SUBNET_IP_RANGE
: Rentang IP subnet minimal /29 yang digunakan oleh Datastream untuk membuat peering ke jaringan VPC.REVERSE_PROXY_SUBNET_ID
: subnetwork di jaringan VPC yang sama dengan instance Cloud SQL yang digunakan oleh Datastream. Subnetwork digunakan untuk menghosting koneksi proxy terbalik untuk Datastream CDC. Subnet harus dikonfigurasi di region yang sama dengan layanan Dataproc Metastore.BUCKET_NAME
: jalur Cloud Storage untuk menyimpan data CDC selama migrasi.ROOT_PATH
: jalur root di dalam bucket Cloud Storage. Data peristiwa aliran data ditulis ke jalur ini.
Selesaikan migrasi
Saat Anda menyelesaikan migrasi, Dataproc Metastore akan terhubung ke Spanner dan mulai menggunakan Spanner sebagai database backend-nya.
Migrasi yang selesai akan memicu perubahan status berikut:
- Metastore Dataproc kembali ke status
ACTIVE
. Status eksekusi migrasi berpindah ke
SUCCEEDED
.
Konsol
Di konsol Google Cloud, buka halaman Dataproc Metastore.
Di bagian atas halaman, klik Migrasikan Data.
Halaman Migrate Data akan terbuka dan menampilkan migrasi terkelola yang telah selesai.
REST
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type:application/json" \
-X POST -d '' \
https://metastore.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/services/SERVICE:completeMigration
Ganti kode berikut:
SERVICE
: Nama atau ID layanan Metastore Dataproc Anda.PROJECT_ID
: project ID untuk project Google Cloud tempat layanan Dataproc Metastore Anda berada.LOCATION
: region Google Cloud tempat layanan Dataproc Metastore Anda berada.
Batalkan migrasi
Saat Anda membatalkan migrasi, Dataproc Metastore akan mengembalikan semua perubahan dan mulai menggunakan jenis database Spanner sebagai database backend. Semua data yang ditransfer selama migrasi akan dihapus.
Migrasi pembatalan memicu perubahan status berikut:
- Metastore Dataproc kembali ke status
ACTIVE
. Status eksekusi migrasi berpindah ke
CANCELLED
.
Konsol
Di konsol Google Cloud, buka halaman Dataproc Metastore.
Di bagian atas halaman, klik Migrasikan Data.
Halaman Migrasikan Data akan terbuka dan menampilkan migrasi terkelola yang dibatalkan.
REST
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type:application/json" \
-X POST -d '' \
https://metastore.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/services/SERVICE:cancelMigration
Ganti kode berikut:
SERVICE_NAME
: Nama atau ID layanan Metastore Dataproc Anda.PROJECT_ID
: project ID untuk project Google Cloud tempat layanan Dataproc Metastore Anda berada.LOCATION
: region Google Cloud tempat layanan Dataproc Metastore Anda berada.
Mendapatkan detail migrasi
Dapatkan detail tentang satu migrasi terkelola.
Konsol
Di konsol Google Cloud, buka halaman Dataproc Metastore.
Di bagian atas halaman, klik Migrasikan Data.
Halaman Migrasikan Data akan terbuka dan menampilkan migrasi terkelola Anda.
Untuk mendapatkan detail migrasi selengkapnya, klik nama migrasi terkelola.
REST
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
-X GET \
https://metastore.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/services/SERVICE/migrationExecutions/MIGRATION_ID
Ganti kode berikut:
SERVICE
: Nama atau ID layanan Metastore Dataproc Anda.PROJECT_ID
: project ID untuk project Google Cloud tempat layanan Dataproc Metastore Anda berada.LOCATION
: region Google Cloud tempat layanan Dataproc Metastore Anda berada.MIGRATION_ID
: Nama atau ID migrasi Metastore Dataproc Anda.
Mencantumkan migrasi
Mencantumkan migrasi terkelola.
Konsol
Di konsol Google Cloud, buka halaman Dataproc Metastore.
Di bagian atas halaman, klik Migrasikan Data.
Halaman Migrasikan Data akan terbuka dan menampilkan migrasi terkelola Anda.
Pastikan perintah tersebut mencantumkan migrasi.
REST
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
-X GET \
https://metastore.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/services/SERVICE/migrationExecutions/MIGRATION_ID
Ganti kode berikut:
SERVICE
: Nama atau ID layanan Metastore Dataproc Anda.PROJECT_ID
: project ID untuk project Google Cloud tempat layanan Dataproc Metastore Anda berada.LOCATION
: region Google Cloud tempat layanan Dataproc Metastore Anda berada.
Hapus migrasi
Hapus migrasi terkelola.
REST
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
-X DELETE \
https://metastore.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/services/SERVICE/migrationExecutions/MIGRATION_ID
Ganti kode berikut:
SERVICE
: nama atau ID layanan Metastore Dataproc Anda.PROJECT_ID
: project ID untuk project Google Cloud tempat layanan Dataproc Metastore Anda berada.LOCATION
: region Google Cloud tempat layanan Dataproc Metastore Anda berada.MIGRATION_ID
: nama atau ID migrasi Metastore Dataproc.
Langkah selanjutnya
- Apa itu Dataproc Metastore?
- Mengimpor metadata ke layanan
- Memasang cluster Dataproc atau cluster yang dikelola sendiri