Esegui il backup e ripristina uno schema Ranger

Questa pagina mostra come eseguire il backup e il ripristino di uno schema Ranger Dataproc con cluster Ranger.

Prima di iniziare

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

    Per creare un bucket:

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

      Vai alla pagina Bucket

    2. Fai clic su Crea bucket.
    3. Nella pagina Crea un bucket, inserisci le informazioni del bucket. Per andare al passaggio successivo, fai clic su Continua.
    4. Fai clic su Crea.

Esegui il backup di uno schema Ranger

  1. Utilizza SSH per connetterti al nodo master Dataproc del cluster con lo schema Ranger. Esegui i comandi di questa sezione nella sessione del terminale SSH in esecuzione su il 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 nel cluster per copiare la password MySQL.

    • bucket name: il nome del bucket Cloud Storage da per archiviare lo schema Ranger.

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

  3. Interrompi 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 del 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}
    

Ripristina uno schema Ranger

  1. Utilizza SSH per connetterti al nodo master Dataproc del cluster in cui ripristinerà lo schema del cluster. Esegui i comandi di questa sezione nella sessione del terminale SSH in esecuzione su il 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 nel cluster per copiare la password MySQL.

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

    • schema filename: il nome dello schema Ranger nome file senza estensione .sql, salvato in bucket name in Cloud Storage.

  3. Interrompi 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 dello schema Ranger .sql in Cloud Storage nel cluster nodo master.

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

    mysqldump -u root -p${MYSQL_PASSWORD} ranger < ${SCHEMA_FILE}.sql
    
  7. Reimposta i privilegi del 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. Cambia l'host del database Ranger impostandone uno 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