Questa pagina mostra come eseguire il backup e il ripristino di uno schema Ranger su Dataproc 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 console, vai alla pagina Browser Cloud Storage.
- Fai clic su Crea bucket.
- Nella pagina Crea un bucket, inserisci le informazioni sul bucket. Per andare al passaggio successivo, fai clic su Continua.
- Per Assegna un nome al bucket, inserisci un nome che soddisfi i requisiti per la denominazione dei bucket.
-
Per scegliere dove archiviare i dati, segui questi passaggi:
- Seleziona un'opzione Tipo di località.
- Seleziona un'opzione Località.
- Per Scegliere una classe di archiviazione predefinita per i tuoi dati, seleziona una classe di archiviazione.
- In Scegli come controllare l'accesso agli oggetti, seleziona un'opzione di Controllo dell'accesso.
- (Facoltativo) Per le Impostazioni avanzate, specifica un metodo di crittografia, un criterio di conservazione o etichette di bucket.
- Fai clic su Crea.
Eseguire il backup di uno schema di Ranger
Utilizza SSH per connetterti al nodo master Dataproc 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.cnf
sul nodo master del cluster per copiare la password MySQL.bucket name: il 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 salvato in bucket name in Cloud Storage .
Interrompi i servizi Hive.
sudo systemctl stop hive-metastore.service sudo systemctl stop hive-server2.service
Impedisci le modifiche alle tabelle schema di 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}.sql
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;
Riavviare 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.
gsutil cp ${SCHEMA_FILE}.sql gs://${BUCKET_NAME}
Ripristinare uno schema Ranger
Utilizza SSH per connetterti al nodo master Dataproc del cluster in cui ripristini 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.cnf
sul nodo master del cluster per copiare la password MySQL.bucket name: il nome del bucket Cloud Storage che contiene lo schema Ranger salvato.
schema filename: il nome del nome file dello schema Ranger, senza l'estensione del nome file
.sql
, salvato in bucket name in Cloud Storage.
Interrompi i servizi Hive.
sudo systemctl stop hive-metastore.service sudo systemctl stop hive-server2.service
Impedisci le modifiche alle tabelle schema di 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 dello schema Ranger
.sql
in Cloud Storage nel nodo master del cluster.gsutil 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}.sql
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;
Aggiorna i file di configurazione del Ranger. Cambia l'host del Ranger DB con 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
Riavviare 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