Esegui il backup e ripristina uno schema Ranger

Questa pagina mostra come eseguire il backup e il ripristino di uno schema Ranger su Managed Service for Apache Spark con cluster Ranger.

Prima di iniziare

  1. Se necessario, crea un bucket. Devi avere accesso a un bucket Cloud Storage, che utilizzerai per archiviare e ripristinare uno schema Ranger.

    Per creare un bucket:

    1. Nella Google Cloud console, vai alla pagina Bucket in Cloud Storage.

      Vai a Bucket

    2. Fai clic su Crea.
    3. Nella pagina Crea un bucket, inserisci le informazioni del bucket. Per passare al passaggio successivo, fai clic su Continua.
      1. Nella sezione Inizia, procedi nel seguente modo:
      2. Nella sezione Scegli dove archiviare i tuoi dati, procedi nel seguente modo:
        1. Seleziona un tipo di località.
        2. Scegli una località in cui i dati del bucket vengono archiviati in modo permanente dal menu a discesa Tipo di località.
          • Se selezioni il tipo di località a due regioni, puoi anche scegliere di abilitare la replica turbo utilizzando la casella di controllo pertinente.
        3. Per configurare la replica tra bucket, seleziona Aggiungi una replica tra bucket mediante Storage Transfer Service e segui questi passaggi:

          Configurare la replica tra bucket

          1. Nel menu Bucket, seleziona un bucket.
          2. Nella sezione Impostazioni di replica , fai clic su Configura per configurare le impostazioni del job di replica.

            Viene visualizzato il riquadro Configura replica tra bucket.

            • Per filtrare gli oggetti da replicare in base al prefisso del nome dell'oggetto, inserisci un prefisso da cui vuoi includere o escludere gli oggetti, quindi fai clic su Aggiungi un prefisso.
            • Per impostare una classe di archiviazione per gli oggetti replicati, seleziona una classe di archiviazione dal menu Classe di archiviazione. Se salti questo passaggio, gli oggetti replicati utilizzeranno per impostazione predefinita la classe di archiviazione del bucket di destinazione.
            • Fai clic su Fine.
      3. Nella sezione Scegli come archiviare i tuoi dati, procedi nel seguente modo:
        1. Seleziona una classe di archiviazione predefinita per il bucket o Autoclass per la gestione automatica della classe di archiviazione dei dati del bucket.
        2. Per abilitare lo spazio dei nomi gerarchico, nella sezione Ottimizza l'archiviazione per i carichi di lavoro con uso intensivo dei dati, seleziona Abilita uno spazio dei nomi gerarchico in questo bucket.
      4. Nella sezione Scegli come controllare l'accesso agli oggetti, seleziona se il bucket applica o meno la prevenzione dell'accesso pubblico, e seleziona un metodo di controllo dell'accesso per gli oggetti del bucket.
      5. Nella sezione Scegli come proteggere i dati degli oggetti, procedi nel seguente modo:
        • Seleziona una delle opzioni in Protezione dei dati che vuoi impostare per il bucket.
          • Per abilitare l'eliminazione temporanea, fai clic sulla casella di controllo Policy di eliminazione temporanea (per il recupero dei dati) e specifica il numero di giorni per cui vuoi conservare gli oggetti dopo l'eliminazione.
          • Per impostare il controllo delle versioni degli oggetti, fai clic sulla casella di controllo Controllo delle versioni degli oggetti (per il controllo delle versioni) e specifica il numero massimo di versioni per oggetto e il numero di giorni dopo i quali le versioni non correnti scadono.
          • Per abilitare la policy di conservazione su oggetti e bucket, fai clic sulla casella di controllo Conservazione (per la conformità) e poi procedi nel seguente modo:
            • Per abilitare il blocco della conservazione degli oggetti, fai clic sulla casella di controllo Abilita conservazione degli oggetti.
            • Per abilitare il blocco del bucket, fai clic sulla casella di controllo Imposta policy di conservazione del bucket e scegli un'unità di tempo e una durata per il periodo di conservazione.
        • Per scegliere come verranno criptati i dati degli oggetti, espandi la la sezione Criptaggio dei dati () e seleziona un metodo di criptaggio dei dati.
    4. Fai clic su Crea.

Eseguire il backup di uno schema Ranger

  1. Utilizza SSH per connetterti al nodo master di Managed Service for Apache Spark del cluster con lo schema Ranger. Esegui i comandi in questa sezione nella sessione del terminale SSH in esecuzione sul nodo master.

  2. Imposta le variabili di ambiente.

    BUCKET_NAME=bucket name \
      MYSQL_PASSWORD=MySQL password
      SCHEMA_FILE=schema filename
    

    Sostituisci quanto segue:

    • MySQL password: puoi aprire /etc/mysql/my.cnf sul nodo master del cluster per copiare la password di MySQL.

    • bucket name: Nome del bucket Cloud Storage da utilizzare per archiviare lo schema Ranger.

    • schema filename: specifica un nome file, senza l'estensione del nome file .sql. Lo schema Ranger viene salvato in questo file sul nodo master, quindi in bucket name in Cloud Storage .

  3. Arresta i servizi Hive.

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

  4. Impedisci le modifiche alle tabelle dello schema 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. Salva lo schema Ranger in un file .sql.

    mysqldump -u root -p${MYSQL_PASSWORD} ranger > ${SCHEMA_FILE}.sql
    
  6. Reimposta i privilegi di 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. Riavvia i servizi Hive e 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. Copia lo schema Ranger in Cloud Storage.

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

Ripristinare uno schema Ranger

  1. Utilizza SSH per connetterti al nodo master di Managed Service for Apache Spark del cluster in cui ripristinerai lo schema del cluster. Esegui i comandi in questa sezione nella sessione del terminale SSH in esecuzione sul nodo master.

  2. Imposta le variabili di ambiente.

    BUCKET_NAME=bucket name \
      MYSQL_PASSWORD=MySQL password
      SCHEMA_FILE=schema filename
    

    Sostituisci quanto segue:

    • MySQL password: puoi aprire /etc/mysql/my.cnf sul nodo master del cluster per copiare la password di MySQL.

    • bucket name: Nome del bucket Cloud Storage che contiene lo schema Ranger salvato.

    • schema filename: Il nome del file dello schema Ranger, senza l'estensione del nome file, salvato in in Cloud Storage..sqlbucket name

  3. Arresta i servizi Hive.

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

  4. Impedisci le modifiche alle tabelle dello schema 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. Copia il file .sql dello schema Ranger in Cloud Storage nel nodo master del cluster.

    gcloud storage cp ${BUCKET_NAME}/${SCHEMA_FILE}.sql .
    
  6. Ripristina lo schema Ranger. Questo passaggio sovrascrive i contenuti dello schema Ranger esistente.

    mysqldump -u root -p${MYSQL_PASSWORD} ranger < ${SCHEMA_FILE}.sql
    
  7. Reimposta i privilegi di 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. Aggiorna i file di configurazione di Ranger. Modifica l'host del database Ranger in un nuovo nome host del database nei seguenti file con le seguenti proprietà:

    File Proprietà
    ranger-hdfs-security.xml ranger.plugin.hdfs.policy.rest.url
    ranger-yarn-security.xml ranger.plugin.yarn.policy.rest.url
  9. Riavvia i servizi Hive e 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