Mencadangkan dan memulihkan skema Ranger

Halaman ini menunjukkan cara mencadangkan dan memulihkan skema Ranger di cluster Dataproc dengan Ranger.

Sebelum memulai

  1. 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:

    1. Di konsol Google Cloud , buka halaman Buckets Cloud Storage.

      Buka Buckets

    2. Klik Create.
    3. Di halaman Buat bucket, masukkan informasi bucket Anda. Untuk melanjutkan ke langkah berikutnya, klik Lanjutkan.
      1. Di bagian Mulai, lakukan tindakan berikut:
        • Masukkan nama yang unik secara global yang memenuhi persyaratan penamaan bucket.
        • Untuk menambahkan label bucket, luaskan bagian Label (), klik Tambahkan label, lalu tentukan key dan value untuk label Anda.
      2. Di bagian Pilih tempat untuk menyimpan data Anda, lakukan tindakan berikut:
        1. Pilih Jenis lokasi.
        2. 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 dengan menggunakan kotak centang yang relevan.
        3. Untuk menyiapkan replikasi lintas bucket, pilih Add cross-bucket replication via Storage Transfer Service dan ikuti langkah-langkah berikut:

          Menyiapkan replikasi lintas bucket

          1. Di menu Bucket, pilih bucket.
          2. Di bagian Setelan replikasi, klik Konfigurasi untuk mengonfigurasi setelan bagi tugas replikasi.

            Panel Konfigurasi replikasi lintas bucket akan muncul.

            • Untuk memfilter objek yang akan direplikasi menurut awalan nama objek, masukkan awalan yang ingin Anda sertakan atau kecualikan objeknya, lalu klik Tambahkan awalan.
            • Untuk menetapkan kelas penyimpanan bagi objek yang direplikasi, pilih kelas penyimpanan dari menu Kelas penyimpanan. Jika Anda melewati langkah ini, objek yang direplikasi akan menggunakan kelas penyimpanan bucket tujuan secara default.
            • Klik Done.
      3. Di bagian Choose how to store your data, lakukan tindakan berikut:
        1. Pilih kelas penyimpanan default untuk bucket atau Autoclass untuk pengelolaan kelas penyimpanan otomatis untuk data bucket Anda.
        2. Untuk mengaktifkan namespace hierarkis, di bagian Optimalkan penyimpanan untuk beban kerja intensif data, pilih Aktifkan namespace hierarkis di bucket ini.
      4. Di bagian Pilih cara mengontrol akses ke objek, pilih apakah bucket Anda menerapkan pencegahan akses publik atau tidak, lalu pilih metode kontrol akses untuk objek bucket Anda.
      5. Di bagian Pilih cara melindungi data objek, lakukan tindakan berikut:
        • Pilih salah satu opsi di bagian Perlindungan data yang ingin Anda tetapkan untuk bucket Anda.
          • Untuk mengaktifkan penghapusan sementara, klik kotak centang Kebijakan penghapusan sementara (Untuk pemulihan data), dan tentukan jumlah hari Anda ingin mempertahankan objek setelah penghapusan.
          • Untuk menyetel Pembuatan Versi Objek, klik kotak centang Pembuatan versi objek (Untuk kontrol versi), dan tentukan jumlah maksimum versi per objek dan jumlah hari setelah versi lama berakhir.
          • Untuk mengaktifkan kebijakan retensi pada objek dan bucket, klik kotak centang Retensi (Untuk kepatuhan), lalu lakukan hal berikut:
            • Untuk mengaktifkan Penguncian Retensi Objek, centang kotak Aktifkan retensi objek.
            • Untuk mengaktifkan Bucket Lock, centang kotak Setel kebijakan retensi bucket, lalu pilih satuan waktu dan durasi untuk periode retensi data Anda.
        • Untuk memilih cara mengenkripsi data objek Anda, luaskan bagian Enkripsi data (), lalu pilih metode Enkripsi data.
    4. Klik Create.

Mencadangkan skema Ranger

  1. Gunakan SSH untuk terhubung ke node master Dataproc dari cluster dengan skema Ranger. Jalankan perintah di bagian ini dalam sesi terminal SSH yang berjalan di node master.

  2. 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.cnf di 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 .

  3. Hentikan layanan Hive.

    sudo systemctl stop hive-metastore.service
    sudo systemctl stop hive-server2.service
    

  4. Mencegah 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;
    
  5. Simpan skema Ranger ke file .sql.

    mysqldump -u root -p${MYSQL_PASSWORD} ranger > ${SCHEMA_FILE}.sql
    
  6. Reset 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;
    
  7. 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
    
  8. Salin skema Ranger ke Cloud Storage.

    gcloud storage cp ${SCHEMA_FILE}.sql gs://${BUCKET_NAME}
    

Memulihkan skema Ranger

  1. Gunakan SSH untuk terhubung ke node master Dataproc dari cluster tempat Anda akan memulihkan skema cluster. Jalankan perintah di bagian ini dalam sesi terminal SSH yang berjalan di node master.

  2. 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.cnf di node master cluster untuk menyalin sandi MySQL.

    • bucket name: Nama bucket Cloud Storage yang berisi skema Ranger yang disimpan.

    • schema filename: Nama file skema Ranger, tanpa ekstensi nama file .sql, yang disimpan di bucket name di Cloud Storage.

  3. Hentikan layanan Hive.

    sudo systemctl stop hive-metastore.service
    sudo systemctl stop hive-server2.service
    

  4. Mencegah 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;
    
  5. Salin file skema Ranger .sql di Cloud Storage ke node master cluster.

    gcloud storage cp ${BUCKET_NAME}/${SCHEMA_FILE}.sql .
    
  6. Pulihkan skema Ranger. Langkah ini akan menggantikan konten skema Ranger yang ada.

    mysqldump -u root -p${MYSQL_PASSWORD} ranger < ${SCHEMA_FILE}.sql
    
  7. Reset 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;
    
  8. Perbarui file konfigurasi Ranger. Ubah host Ranger DB ke nama host database baru di file berikut dengan properti berikut:

    File Properti
    ranger-hdfs-security.xml ranger.plugin.hdfs.policy.rest.url
    ranger-yarn-security.xml ranger.plugin.yarn.policy.rest.url
  9. 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