Sie können zusätzliche Komponenten wie Ranger installieren, wenn Sie einen Managed Service for Apache Spark-Cluster mit dem Feature Optionale Komponenten erstellen. Auf dieser Seite wird die Ranger-Komponente beschrieben.
Die Apache Ranger-Komponente ist ein Open-Source-Framework zur Verwaltung von Berechtigungen und Prüfungen für die Hadoop-Verwaltungsplattform. Der Ranger-Server admin und die Web-UI sind über Port 6080 auf dem ersten Masterknoten des Clusters verfügbar.
Siehe auch:
Komponente installieren
Installieren Sie die Komponente, wenn Sie einen Managed Service for Apache Spark-Cluster erstellen. Sie können Komponenten in Cluster einfügen, die mit Managed Service for Apache Spark Version 1.3 oder höher erstellt wurden. Die Ranger-Komponente erfordert die Installation der Solr-Komponente.
Informationen zu den Komponentenversionen, die im jeweiligen Managed Service for Apache Spark-Image-Release enthalten sind, finden Sie unter Unterstützte Managed Service for Apache Spark-Versionen.
Installationsschritte:
Ranger-
admin-Passwort einrichten:- Weisen Sie dem Dienstkonto des Clusters die Cloud Key Management Service CryptoKey-Verschlüsseler/Entschlüsseler-Rolle zu. Standardmäßig wird das Clusterdienstkonto als Compute Engine-Standarddienstkonto festgelegt, das folgende Form hat:
Beim Erstellen des Clusters können Sie ein anderes Cluster-Dienstkonto angeben.project-number-compute@developer.gserviceaccount.com
- Beispiel:Weisen Sie dem Compute Engine-Standarddienstkonto die Rolle „Cloud KMS CryptoKey-Verschlüsseler/Entschlüsseler“ zu:
gcloud projects add-iam-policy-binding project-id \ --member=serviceAccount:project-number-compute@developer.gserviceaccount.com \ --role=roles/cloudkms.cryptoKeyDecrypter
- Beispiel:Weisen Sie dem Compute Engine-Standarddienstkonto die Rolle „Cloud KMS CryptoKey-Verschlüsseler/Entschlüsseler“ zu:
- Verschlüsseln Sie das Passwort für
adminmit einem KMS-Schlüssel (Key Management Service, Schlüsselverwaltungsdienst). Bei Clustern mit einer Image-Version vor 2.2 muss das Passwort aus mindestens 8 Zeichen bestehen, darunter mindestens ein alphabetisches und ein numerisches Zeichen. Bei Clustern mit einer Image-Version ab 2.2 muss das Passwort aus mindestens 8 Zeichen bestehen, darunter mindestens ein Großbuchstabe, ein Kleinbuchstabe und eine Ziffer.- Beispiel:
- Schlüsselbund erstellen:
gcloud kms keyrings create my-keyring --location=global
- Erstellen Sie den Schlüssel:
gcloud kms keys create my-key \ --location=global \ --keyring=my-keyring \ --purpose=encryption
- Verschlüsseln Sie das Passwort für den Ranger-Nutzer
admin:echo 'my-ranger-admin-password' | \ gcloud kms encrypt \ --location=global \ --keyring=my-keyring \ --key=my-key \ --plaintext-file=- \ --ciphertext-file=admin-password.encrypted
- Schlüsselbund erstellen:
- Beispiel:
- Laden Sie das verschlüsselte Passwort in einen Cloud Storage-Bucket in Ihrem Projekt hoch.
- Beispiel:
gcloud storage cp admin-password.encrypted gs://my-bucket
- Beispiel:
- Weisen Sie dem Dienstkonto des Clusters die Cloud Key Management Service CryptoKey-Verschlüsseler/Entschlüsseler-Rolle zu. Standardmäßig wird das Clusterdienstkonto als Compute Engine-Standarddienstkonto festgelegt, das folgende Form hat:
Cluster erstellen
- Bei der Installation der Ranger-Komponente muss auch die Solr-Komponente installiert werden.
- Die Ranger-Komponente benötigt die Solr-Komponente, um ihre Audit-Logs zu speichern und abzufragen, die standardmäßig HDFS als Speicher verwenden. Diese HDFS-Daten werden gelöscht, wenn der Cluster gelöscht wird. Wenn Sie die Solr-Komponente so konfigurieren möchten, dass Daten, einschließlich der Ranger-Audit-Logs, in Cloud Storage gespeichert werden, verwenden Sie beim Erstellen des Clusters das Clusterattribut
dataproc:solr.gcs.path=gs://<bucket>. Cloud Storage-Daten bleiben nach dem Löschen des Clusters erhalten.
- Die Ranger-Komponente benötigt die Solr-Komponente, um ihre Audit-Logs zu speichern und abzufragen, die standardmäßig HDFS als Speicher verwenden. Diese HDFS-Daten werden gelöscht, wenn der Cluster gelöscht wird. Wenn Sie die Solr-Komponente so konfigurieren möchten, dass Daten, einschließlich der Ranger-Audit-Logs, in Cloud Storage gespeichert werden, verwenden Sie beim Erstellen des Clusters das Clusterattribut
- Übergeben Sie die Cloud Storage-URIs für den KMS-Schlüssel und das Passwort an den Befehl zur Clustererstellung, indem Sie die Clusterattribute
dataproc:ranger.kms.key.uriunddataproc:ranger.admin.password.urifestlegen. - Optional können Sie das Passwort des
admin-Nutzers der Ranger-Datenbank über einen verschlüsselten Cloud Storage-URI übergeben, indem Sie das Clusterattributdataproc:ranger.db.admin.password.urifestlegen. - Standardmäßig verwendet die Ranger-Komponente die MySql-Datenbankinstanz, die auf dem ersten Masterknoten des Clusters ausgeführt wird. Aktivieren Sie in der MySQL-Instanz das Flag
log_bin_trust_function_creators, indem Sie die Variable aufONsetzen. Mit diesem Flag wird gesteuert, ob gespeicherte Funktionsersteller vertrauenswürdig sein können. Nachdem Sie den Cluster erfolgreich erstellt und Ranger konfiguriert haben, können Sielog_bin_trust_function_creatorsaufOFFzurücksetzen. Verwenden Sie eine Cloud SQL-Instanz als externe MySql-Datenbank, um die Ranger-Datenbank nach der Clusterlöschung zu speichern.
- Legen Sie das Clusterattribut
dataproc:ranger.cloud-sql.instance.connection.nameauf die Cloud SQL-Instanz fest. - Legen Sie das Clusterattribut
dataproc:ranger.cloud-sql.root.password.uriauf den Cloud Storage-URI des mit dem KMS-Schlüssel verschlüsselten Root-Passworts der Cloud SQL-Instanz fest. - Legen Sie das Clusterattribut
dataproc:ranger.cloud-sql.use-private-ipfest, um anzugeben, ob die Verbindung zur Cloud SQL-Instanz über eine private IP-Adresse erfolgt.
Die Ranger-Komponente verwendet den Cloud SQL Auth-Proxy, um eine Verbindung zur Cloud SQL-Instanz herzustellen. So verwenden Sie den Proxy:
- Legen Sie den
sqlservice.admin-API-Bereich beim Erstellen des Clusters fest (siehe Anfragen mit OAuth 2.0 autorisieren). Fügen Sie bei Verwendung desgcloud dataproc cluster create-Befehls den--scopes=default,sql-admin-Parameter hinzu. - Aktivieren Sie in Ihrem Projekt die SQL Admin API.
- Das Cluster-Dienstkonto muss die Rolle Cloud SQL-Bearbeiter haben.
- Da der Cloud SQL Auth-Proxy auf dem Masterknoten ausgehende Verbindungen zur Cloud SQL-Instanz über Port 3307 herstellt, müssen ausgehende TCP-Verbindungen vom Masterknoten zur Cloud SQL-Instanz über Port 3307 zulässig sein. Weitere Informationen finden Sie unter Funktionsweise des Cloud SQL Auth-Proxys.
gcloud-CLI
Verwenden Sie zum Erstellen eines Managed Service for Apache Spark-Clusters, der die Ranger-Komponente enthält, den Befehl gcloud dataproc clusters create cluster-name mit dem Flag
--optional-components.gcloud dataproc clusters create cluster-name \ --optional-components=SOLR,RANGER \ --region=region \ --enable-component-gateway \ --properties="dataproc:ranger.kms.key.uri=projects/project-id/locations/global/keyRings/my-keyring/cryptoKeys/my-key,dataproc:ranger.admin.password.uri=gs://my-bucket/admin-password.encrypted" \ ... other flags
REST API
Geben Sie die Komponenten Ranger und Solr im Feld SoftwareConfig.Component als Teil einer clusters.create für Managed Service for Apache Spark API an. Außerdem müssen Sie die folgenden Cluster-Attribute im Feld SoftwareConfig.Component.properties festlegen:
dataproc:ranger.kms.key.uri: "projects/project-id/locations/global/keyRings/my-keyring/cryptoKeys/my-key"dataproc:ranger.admin.password.uri: "gs://my-bucket/admin-password.encrypted"
Console
- Aktivieren Sie die Komponente und das Komponentengateway.
- Öffnen Sie in der Google Cloud Console die Seite Cluster erstellen für Managed Service for Apache Spark. Der Bereich „Cluster einrichten“ ist ausgewählt.
- Im Bereich Komponenten:
- Wählen Sie unter „Optionale Komponenten“ Ranger, Solr und andere optionale Komponenten aus, die auf Ihrem Cluster installiert werden sollen.
- Wählen Sie unter Component Gateway „Component Gateway aktivieren“ aus (siehe Component Gateway-URLs ansehen und aufrufen).
- Legen Sie das Clusterattribut
- Bei der Installation der Ranger-Komponente muss auch die Solr-Komponente installiert werden.
Klicken Sie auf den Tab Webschnittstellen. Klicken Sie unter Komponenten-Gateway auf Ranger, um die Ranger-Webschnittstelle zu öffnen. Melden Sie sich mit dem Ranger-Administratornutzernamen (z. B. „admin“) und dem Passwort an.
Ranger-Administrator-Logs
Ranger-admin-Logs sind in Logging als ranger-admin-root-Logs verfügbar.