Halaman ini menunjukkan cara mencadangkan dan memulihkan skema Ranger di cluster Managed Service untuk Apache Spark dengan Ranger.
Sebelum memulai
Buat bucket jika perlu. Anda harus memiliki akses ke bucket Cloud Storage, yang akan Anda gunakan untuk menyimpan dan memulihkan skema Ranger.
Untuk membuat bucket:
- Di Google Cloud konsol, buka halaman Buckets Cloud Storage.
- Klik Create.
- Di halaman Create a bucket, masukkan informasi bucket Anda. Untuk melanjutkan ke langkah berikutnya, klik Continue.
-
Di bagian Get started, lakukan hal berikut:
- Masukkan nama yang unik secara global yang memenuhi persyaratan penamaan bucket.
- Untuk menambahkan
label bucket,
luaskan bagian Labels (),
klik add_box
Add label, lalu tentukan
keydanvalueuntuk label Anda.
-
Di bagian Choose where to store your data, lakukan hal berikut:
- Pilih Jenis lokasi.
- Pilih lokasi tempat data bucket Anda disimpan secara permanen dari menu drop-down Location type.
- Jika memilih jenis lokasi dual-region, Anda juga dapat memilih untuk mengaktifkan replikasi turbo menggunakan kotak centang yang relevan.
- Untuk menyiapkan replikasi lintas bucket, pilih
Add cross-bucket replication via Storage Transfer Service , lalu
ikuti langkah-langkah berikut:
Menyiapkan replikasi lintas bucket
- Di menu Bucket, pilih bucket.
Di bagian Replication settings , klik Configure untuk mengonfigurasi setelan untuk tugas replikasi.
Panel Configure cross-bucket replication akan muncul muncul.
- Untuk memfilter objek yang akan direplikasi berdasarkan awalan nama objek, masukkan awalan yang ingin Anda sertakan atau kecualikan objeknya, lalu klik Add a prefix.
- Untuk menetapkan kelas penyimpanan bagi objek yang direplikasi, pilih kelas penyimpanan dari menu Storage class. Jika Anda melewati langkah ini, objek yang direplikasi akan menggunakan kelas penyimpanan bucket tujuan secara default.
- Klik Done.
-
Di bagian Choose where to store your data, lakukan hal berikut:
- Pilih kelas penyimpanan default untuk bucket atau Autoclass untuk pengelolaan kelas penyimpanan otomatis untuk data bucket Anda.
- Untuk mengaktifkan namespace hierarkis, di bagian Optimize storage for data-intensive workloads, pilih Enable hierarchical namespace on this bucket.
- Di bagian Choose how to control access to objects, pilih apakah bucket Anda menerapkan pencegahan akses publik atau tidak, lalu pilih metode kontrol akses untuk objek bucket Anda.
-
Di bagian Choose how to protect object data, lakukan hal berikut:
- Pilih salah satu opsi di bagian Perlindungan data yang ingin Anda tetapkan untuk bucket Anda.
- Untuk mengaktifkan penghapusan sementara, klik kotak centang Soft delete policy (For data recovery), lalu tentukan jumlah hari Anda ingin menyimpan objek setelah penghapusan.
- Untuk menetapkan Pembuatan Versi Objek, klik kotak centang Object versioning (For version control) , lalu tentukan jumlah maksimum versi per objek dan jumlah hari setelah versi lama berakhir masa berlakunya.
- Untuk mengaktifkan kebijakan retensi pada objek dan bucket, klik kotak centang Retention (For compliance), lalu lakukan hal berikut:
- Untuk mengaktifkan Kunci Retensi Objek, klik kotak centang Enable object retention.
- Untuk mengaktifkan Kunci Bucket, klik kotak centang Set bucket retention policy, lalu pilih satuan waktu dan lama untuk periode retensi data.
- Untuk memilih cara data objek Anda akan dienkripsi, luaskan bagian Data encryption (), lalu pilih metode Data encryption.
- Pilih salah satu opsi di bagian Perlindungan data yang ingin Anda tetapkan untuk bucket Anda.
-
Di bagian Get started, lakukan hal berikut:
- Klik Create.
Mencadangkan skema Ranger
Gunakan SSH untuk terhubung ke node master Managed Service untuk Apache Spark dari cluster dengan skema Ranger. Jalankan perintah di bagian ini dalam sesi terminal SSH yang berjalan di node master.
Menetapkan variabel lingkungan.
BUCKET_NAME=bucket name \ MYSQL_PASSWORD=MySQL password SCHEMA_FILE=schema filename
Ganti kode berikut:
MySQL password: Anda dapat membuka
/etc/mysql/my.cnfdi node master cluster untuk menyalin sandi MySQL.bucket name: Nama bucket Cloud Storage yang akan digunakan untuk menyimpan skema Ranger.
schema filename: Tentukan nama file, tanpa ekstensi nama file
.sql. Skema Ranger disimpan ke file ini di node master, lalu disimpan di bucket name di Cloud Storage .
Hentikan layanan Hive.
sudo systemctl stop hive-metastore.service sudo systemctl stop hive-server2.service
Cegah perubahan pada tabel skema Ranger.
mysql -u root -p${MYSQL_PASSWORD} REVOKE ALL PRIVILEGES ON ranger.* from 'rangeradmin'@'localhost'; GRANT SELECT ON ranger.* TO 'rangeradmin'@'localhost'; FLUSH PRIVILEGES; SHOW GRANTS FOR 'rangeradmin'@'localhost'; exit;Simpan skema Ranger ke file
.sql.mysqldump -u root -p${MYSQL_PASSWORD} ranger > ${SCHEMA_FILE}.sqlReset hak istimewa Ranger.
mysql -u root -p${MYSQL_PASSWORD} REVOKE SELECT ON ranger.* from 'rangeradmin'@'localhost'; GRANT ALL PRIVILEGES ON ranger.* to 'rangeradmin'@'localhost'; FLUSH PRIVILEGES; SHOW GRANTS FOR 'rangeradmin'@'localhost'; exit;Mulai ulang layanan Hive dan Ranger.
sudo systemctl start hive-metastore.service sudo systemctl start hive-server2.service sudo systemctl restart ranger-admin.service sudo systemctl restart ranger-usersync.service
Salin skema Ranger ke Cloud Storage.
gcloud storage cp ${SCHEMA_FILE}.sql gs://${BUCKET_NAME}
Memulihkan skema Ranger
Gunakan SSH untuk terhubung ke node master Managed Service untuk Apache Spark dari cluster tempat Anda akan memulihkan skema cluster. Jalankan perintah di bagian ini dalam sesi terminal SSH yang berjalan di node master.
Menetapkan variabel lingkungan.
BUCKET_NAME=bucket name \ MYSQL_PASSWORD=MySQL password SCHEMA_FILE=schema filename
Ganti kode berikut:
MySQL password: Anda dapat membuka
/etc/mysql/my.cnfdi node master cluster untuk menyalin sandi MySQL.bucket name: nama bucket Cloud Storage yang berisi skema Ranger yang disimpan.
schema filename: Nama nama file skema Ranger, tanpa ekstensi nama file, yang disimpan di di Cloud Storage.
.sqlbucket name
Hentikan layanan Hive.
sudo systemctl stop hive-metastore.service sudo systemctl stop hive-server2.service
Cegah perubahan pada tabel skema Ranger.
mysql -u root -p${MYSQL_PASSWORD} REVOKE ALL PRIVILEGES ON ranger.* from 'rangeradmin'@'localhost'; GRANT SELECT ON ranger.* TO 'rangeradmin'@'localhost'; FLUSH PRIVILEGES; SHOW GRANTS FOR 'rangeradmin'@'localhost'; exit;Salin file
.sqlskema Ranger di Cloud Storage ke node master cluster.gcloud storage cp ${BUCKET_NAME}/${SCHEMA_FILE}.sql .Pulihkan skema Ranger. Langkah ini akan menimpa konten skema Ranger yang ada.
mysqldump -u root -p${MYSQL_PASSWORD} ranger < ${SCHEMA_FILE}.sqlReset hak istimewa Ranger.
mysql -u root -p${MYSQL_PASSWORD} REVOKE SELECT ON ranger.* from 'rangeradmin'@'localhost'; GRANT ALL PRIVILEGES ON ranger.* to 'rangeradmin'@'localhost'; FLUSH PRIVILEGES; SHOW GRANTS FOR 'rangeradmin'@'localhost'; exit;Perbarui file konfigurasi Ranger. Ubah host DB Ranger ke nama host database baru di file berikut dengan properti berikut:
File Properti ranger-hdfs-security.xmlranger.plugin.hdfs.policy.rest.urlranger-yarn-security.xmlranger.plugin.yarn.policy.rest.urlMulai ulang layanan Hive dan Ranger.
sudo systemctl start hive-metastore.service sudo systemctl start hive-server2.service sudo systemctl restart ranger-admin.service sudo systemctl restart ranger-usersync.service