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
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:
- Nella Google Cloud console, vai alla pagina Bucket in Cloud Storage.
- Fai clic su Crea.
- Nella pagina Crea un bucket, inserisci le informazioni del bucket. Per passare al passaggio successivo, fai clic su Continua.
-
Nella sezione Inizia, procedi nel seguente modo:
- Inserisci un nome univoco a livello globale che soddisfi i requisiti di denominazione dei bucket.
- Per aggiungere un'
etichetta del bucket,
espandi la sezione Etichette (),
fai clic su add_box
Aggiungi etichetta e specifica una
keye unvalueper l'etichetta.
-
Nella sezione Scegli dove archiviare i tuoi dati, procedi nel seguente modo:
- Seleziona un tipo di località.
- 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.
- 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
- Nel menu Bucket, seleziona un bucket.
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.
-
Nella sezione Scegli come archiviare i tuoi dati, procedi nel seguente modo:
- Seleziona una classe di archiviazione predefinita per il bucket o Autoclass per la gestione automatica della classe di archiviazione dei dati del bucket.
- 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.
- 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.
-
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.
- Seleziona una delle opzioni in Protezione dei dati che vuoi impostare per il bucket.
-
Nella sezione Inizia, procedi nel seguente modo:
- Fai clic su Crea.
Eseguire il backup di uno schema Ranger
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.
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.cnfsul 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 .
Arresta i servizi Hive.
sudo systemctl stop hive-metastore.service sudo systemctl stop hive-server2.service
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;Salva lo schema Ranger in un file
.sql.mysqldump -u root -p${MYSQL_PASSWORD} ranger > ${SCHEMA_FILE}.sqlReimposta 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;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
Copia lo schema Ranger in Cloud Storage.
gcloud storage cp ${SCHEMA_FILE}.sql gs://${BUCKET_NAME}
Ripristinare uno schema Ranger
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.
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.cnfsul 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
Arresta i servizi Hive.
sudo systemctl stop hive-metastore.service sudo systemctl stop hive-server2.service
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;Copia il file
.sqldello schema Ranger in Cloud Storage nel nodo master del cluster.gcloud storage cp ${BUCKET_NAME}/${SCHEMA_FILE}.sql .Ripristina lo schema Ranger. Questo passaggio sovrascrive i contenuti dello schema Ranger esistente.
mysqldump -u root -p${MYSQL_PASSWORD} ranger < ${SCHEMA_FILE}.sqlReimposta 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;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.xmlranger.plugin.hdfs.policy.rest.urlranger-yarn-security.xmlranger.plugin.yarn.policy.rest.urlRiavvia 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