Auf dieser Seite erfahren Sie, wie Sie ein Ranger-Schema in Managed Service for Apache Spark mit Ranger-Clustern sichern und wiederherstellen.
Hinweis
Erstellen Sie bei Bedarf einen Bucket. Sie benötigen Zugriff auf einen Cloud Storage-Bucket, den Sie zum Speichern und Wiederherstellen eines Ranger-Schemas verwenden.
So erstellen Sie einen Bucket:
- Wechseln Sie in der Google Cloud Console unter „Cloud Storage“ zur Seite Buckets.
- Klicken Sie auf Erstellen.
- Geben Sie auf der Seite Bucket erstellen die Bucket-Informationen ein. Klicken Sie auf Weiter, um mit dem nächsten Schritt fortzufahren.
-
Führen Sie im Abschnitt Einstieg die folgenden Schritte aus:
- Geben Sie einen global eindeutigen Namen ein, der den Anforderungen für Bucket-Namen entspricht.
- So fügen Sie ein Bucket-Label hinzu: Maximieren Sie den Abschnitt Labels (), klicken Sie auf add_box
Label hinzufügen und geben Sie
keyundvaluefür Ihr Label an.
-
Gehen Sie im Bereich Speicherort für Daten auswählen so vor:
- Standorttyp auswählen.
- Wählen Sie im Drop-down-Menü Standorttyp einen Standort aus, an dem die Daten Ihres Buckets dauerhaft gespeichert werden.
- Wenn Sie den Standorttyp Dual-Region auswählen, können Sie auch die Turboreplikation aktivieren, indem Sie das entsprechende Kästchen anklicken.
- Wenn Sie die Bucket-übergreifende Replikation einrichten möchten, wählen Sie Bucket-übergreifende Replikation über Storage Transfer Service hinzufügen aus und führen Sie die folgenden Schritte aus:
Bucket-übergreifende Replikation einrichten
- Wählen Sie im Menü Bucket einen Bucket aus.
Klicken Sie im Bereich Replikationseinstellungen auf Konfigurieren, um die Einstellungen für den Replikationsjob zu konfigurieren.
Der Bereich Bucket-übergreifende Replikation konfigurieren wird angezeigt.
- Wenn Sie die zu replizierenden Objekte nach dem Objektnamenspräfix filtern möchten, geben Sie ein Präfix ein, mit dem Sie Objekte ein- oder ausschließen möchten, und klicken Sie dann auf Präfix hinzufügen.
- Wenn Sie eine Speicherklasse für die replizierten Objekte festlegen möchten, wählen Sie im Menü Speicherklasse eine Speicherklasse aus. Wenn Sie diesen Schritt überspringen, wird für replizierte Objekte standardmäßig die Speicherklasse des Ziel-Buckets verwendet.
- Klicken Sie auf Fertig.
-
Gehen Sie im Bereich Speicherort für Daten auswählen so vor:
- Wählen Sie eine Standardspeicherklasse für den Bucket oder Autoclass für die automatische Speicherklassenverwaltung der Daten Ihres Buckets aus.
- Wenn Sie den hierarchischen Namespace aktivieren möchten, wählen Sie im Bereich Speicher für datenintensive Arbeitslasten optimieren die Option Hierarchischen Namespace für diesen Bucket aktivieren aus.
- Wählen Sie im Abschnitt Zugriff auf Objekte steuern aus, ob der Bucket Verhinderung des öffentlichen Zugriffs durchsetzt, und wählen Sie eine Zugriffssteuerungsmethode für die Objekte Ihres Buckets aus.
-
Führen Sie im Bereich Auswählen, wie Objektdaten geschützt werden die folgenden Schritte aus:
- Wählen Sie unter Datenschutz die gewünschten Optionen für Ihren Bucket aus.
- Wenn Sie Vorläufiges Löschen aktivieren möchten, klicken Sie das Kästchen Richtlinie für vorläufiges Löschen (zur Datenwiederherstellung) an und geben Sie die Anzahl der Tage an, die Objekte nach dem Löschen beibehalten werden sollen.
- Wenn Sie die Objektversionsverwaltung festlegen möchten, klicken Sie das Kästchen Objektversionsverwaltung (zur Versionsverwaltung) an und geben Sie die maximale Anzahl von Versionen pro Objekt und die Anzahl der Tage an, nach denen die nicht aktuellen Versionen ablaufen.
- Klicken Sie das Kästchen Aufbewahrung (für Compliance) an, um die Aufbewahrungsrichtlinie für Objekte und Buckets zu aktivieren, und gehen Sie dann so vor:
- Klicken Sie auf das Kästchen Objektaufbewahrung aktivieren, um die Objektaufbewahrungssperre zu aktivieren.
- Wenn Sie Bucket Lock aktivieren möchten, klicken Sie das Kästchen Bucket-Aufbewahrungsrichtlinie festlegen an und wählen Sie eine Zeiteinheit und eine Zeitdauer für die Aufbewahrungsdauer aus.
- Um auszuwählen, wie Ihre Objektdaten verschlüsselt werden, maximieren Sie den Bereich Datenverschlüsselung () und wählen Sie eine Methode für die Datenverschlüsselung aus.
- Wählen Sie unter Datenschutz die gewünschten Optionen für Ihren Bucket aus.
-
Führen Sie im Abschnitt Einstieg die folgenden Schritte aus:
- Klicken Sie auf Erstellen.
Ranger-Schema sichern
Stellen Sie mit SSH eine Verbindung zum Masterknoten des Managed Service for Apache Spark-Clusters mit dem Ranger-Schema her. Führen Sie die Befehle in diesem Abschnitt in der SSH-Terminalsitzung aus, die auf dem Masterknoten ausgeführt wird.
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.cnfauf dem Masterknoten des Clusters öffnen, um das MySQL-Passwort zu kopieren.bucket name: Der Name des Cloud Storage-Bucket, in dem das Ranger-Schema gespeichert werden soll.
schema filename: Geben Sie einen Dateinamen ohne die Dateinamenerweiterung
.sqlan. Das Ranger-Schema wird in dieser Datei auf dem Masterknoten gespeichert und dann 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;Speichern Sie das Ranger-Schema in einer
.sql-Datei.mysqldump -u root -p${MYSQL_PASSWORD} ranger > ${SCHEMA_FILE}.sqlRanger-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
Stellen Sie mit SSH eine Verbindung zum Masterknoten des Managed Service for Apache Spark-Clusters her, in dem Sie das Clusterschema wiederherstellen. Führen Sie die Befehle in diesem Abschnitt in der SSH-Terminalsitzung aus, die auf dem Masterknoten ausgeführt wird.
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.cnfauf dem Masterknoten des Clusters öffnen, um das MySQL-Passwort zu kopieren.bucket name: Der Name des Cloud Storage-Bucket, der das gespeicherte Ranger-Schema enthält.
schema filename: Der Name des Ranger-Schemadateinamens ohne die Dateinamenerweiterung
.sql, der in bucket name in Cloud Storage gespeichert ist.
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
.sqlin Cloud Storage auf den Masterknoten des Clusters.gcloud storage cp ${BUCKET_NAME}/${SCHEMA_FILE}.sql .Stellen Sie das Ranger-Schema wieder her. Bei diesem Schritt werden die Inhalte des vorhandenen Ranger-Schemas überschrieben.
mysqldump -u root -p${MYSQL_PASSWORD} ranger < ${SCHEMA_FILE}.sqlRanger-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;Aktualisieren Sie die Ranger-Konfigurationsdateien. Ändern Sie den Ranger DB-Host in den folgenden Dateien mit den folgenden Attributen in einen neuen Datenbank-Hostnamen:
Datei Attribut ranger-hdfs-security.xmlranger.plugin.hdfs.policy.rest.urlranger-yarn-security.xmlranger.plugin.yarn.policy.rest.urlStarten 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