Auf dieser Seite erfahren Sie, wie Sie ein Ranger-Schema auf einem Dataproc mit Ranger-Clustern:
Hinweise
Erstellen Sie bei Bedarf einen Bucket. Sie müssen Zugriff auf einen Cloud Storage-Bucket haben, mit dem Sie ein Ranger-Schema speichern und wiederherstellen.
So erstellen Sie einen Bucket:
- Wechseln Sie in der Google Cloud Console zur Cloud Storage-Seite Buckets.
- Klicken Sie auf Bucket erstellen.
- Geben Sie auf der Seite Bucket erstellen die Bucket-Informationen ein. Klicken Sie auf Weiter, um mit dem nächsten Schritt fortzufahren.
- Geben Sie unter Bucket benennen einen Namen ein, der den Anforderungen für Bucket-Namen entspricht.
-
Gehen Sie unter Speicherort für Daten auswählen folgendermaßen vor:
- Wählen Sie eine Option für Standorttyp aus.
- Wählen Sie eine Standort-Option aus.
- Wählen Sie unter Standardspeicherklasse für Ihre Daten auswählen eine Speicherklasse aus.
- Wählen Sie unter Zugriffssteuerung für Objekte auswählen eine Option für die Zugriffssteuerung aus.
- Geben Sie für Erweiterte Einstellungen (optional) eine Verschlüsselungsmethode, eine Aufbewahrungsrichtlinie oder Bucket-Labels an.
- Klicken Sie auf Erstellen.
Ranger-Schema sichern
Verwende SSH, um eine Verbindung herzustellen zum Dataproc-Masterknoten des Clusters mit dem Ranger-Schema. Führen Sie die Befehle in diesem Abschnitt in der SSH-Terminalsitzung auf zum Masterknoten.
Umgebungsvariablen festlegen
BUCKET_NAME=bucket name \ MYSQL_PASSWORD=MySQL password SCHEMA_FILE=schema filename
Ersetzen Sie Folgendes:
MySQL password: Sie können
/etc/mysql/my.cnf
im Cluster öffnen Masterknotens, um das MySQL-Passwort zu kopieren.bucket name: der Name des Cloud Storage-Bucket, für den zum Speichern des Ranger-Schemas.
schema filename: Geben Sie einen Dateinamen an. ohne die Dateiendung
.sql
. Das Ranger-Schema wurde gespeichert in diese Datei auf dem Masterknoten und dann in bucket name gespeichert in Cloud Storage erstellen .
Beenden Sie die Hive-Dienste.
sudo systemctl stop hive-metastore.service sudo systemctl stop hive-server2.service
Änderungen an den Ranger-Schematabellen verhindern.
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;
Speichern Sie das Ranger-Schema in einer
.sql
-Datei.mysqldump -u root -p${MYSQL_PASSWORD} ranger > ${SCHEMA_FILE}.sql
Ranger-Berechtigungen zurücksetzen.
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;
Starten Sie die Hive- und Ranger-Dienste neu.
sudo systemctl start hive-metastore.service sudo systemctl start hive-server2.service sudo systemctl restart ranger-admin.service sudo systemctl restart ranger-usersync.service
Kopieren Sie das Ranger-Schema nach Cloud Storage.
gcloud storage cp ${SCHEMA_FILE}.sql gs://${BUCKET_NAME}
Ranger-Schema wiederherstellen
Verwende SSH, um eine Verbindung herzustellen mit dem Dataproc-Masterknoten des Clusters, in dem Sie stellt das Clusterschema wieder her. Führen Sie die Befehle in diesem Abschnitt in der SSH-Terminalsitzung auf zum Masterknoten.
Umgebungsvariablen festlegen
BUCKET_NAME=bucket name \ MYSQL_PASSWORD=MySQL password SCHEMA_FILE=schema filename
Ersetzen Sie Folgendes:
MySQL password: Sie können
/etc/mysql/my.cnf
im Cluster öffnen Masterknotens, um das MySQL-Passwort zu kopieren.bucket name: der Name des Cloud Storage-Bucket das das gespeicherte Ranger-Schema enthält.
schema filename: Der Name des Ranger-Schemas. Dateiname ohne die Dateiendung
.sql
, gespeichert in bucket name in Cloud Storage.
Beenden Sie die Hive-Dienste.
sudo systemctl stop hive-metastore.service sudo systemctl stop hive-server2.service
Änderungen an den Ranger-Schematabellen verhindern.
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;
Kopieren Sie die Ranger-Schemadatei
.sql
in Cloud Storage in den Cluster. Masterknotens.gcloud storage cp ${BUCKET_NAME}/${SCHEMA_FILE}.sql .
Stellen Sie das Ranger-Schema wieder her. Dieser Schritt überschreibt den Inhalt der bestehenden Ranger-Schema.
mysqldump -u root -p${MYSQL_PASSWORD} ranger < ${SCHEMA_FILE}.sql
Ranger-Berechtigungen zurücksetzen.
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;
Ranger-Konfigurationsdateien aktualisieren. Ranger-Datenbankhost zu einem neuen ändern Datenbank-Hostname in den folgenden Dateien mit den folgenden Eigenschaften:
Datei Attribut ranger-hdfs-security.xml
ranger.plugin.hdfs.policy.rest.url
ranger-yarn-security.xml
ranger.plugin.yarn.policy.rest.url
Starten Sie die Hive- und Ranger-Dienste neu.
sudo systemctl start hive-metastore.service sudo systemctl start hive-server2.service sudo systemctl restart ranger-admin.service sudo systemctl restart ranger-usersync.service