Puoi installare componenti aggiuntivi come Ranger quando crei un cluster Dataproc utilizzando la funzionalità Componenti facoltativi. Questa pagina descrive il componente Ranger.
Il componente Apache Ranger è un framework open source per gestire autorizzazioni e controllo dell'ecosistema Hadoop. Il server admin e l'interfaccia utente web di Ranger sono disponibili sulla porta
6080 nel primo nodo master del cluster.
Vedi anche:
Installare il componente
Installa il componente quando crei un cluster Dataproc. I componenti possono essere aggiunti ai cluster creati con Dataproc versione 1.3 e successive. Il componente Ranger richiede l'installazione del Solr.
Per la versione del componente inclusa in ogni release dell'immagine Dataproc, consulta Versioni di Dataproc supportate.
Passaggi di installazione:
Configura la password
admindi Ranger:- Concedi il
ruolo Autore crittografia/decrittografia CryptoKey Cloud Key Management Service
al service account del cluster. Per impostazione predefinita, il service account del cluster è impostato come service account predefinito di Compute Engine, che ha il seguente formato:
Puoi specificare un service account del cluster diverso quando crei il cluster.project-number-compute@developer.gserviceaccount.com
- Esempio:
concedi il ruolo Autore crittografia/decrittografia CryptoKey Cloud KMS
al service account predefinito di Compute Engine:
gcloud projects add-iam-policy-binding project-id \ --member=serviceAccount:project-number-compute@developer.gserviceaccount.com \ --role=roles/cloudkms.cryptoKeyDecrypter
- Esempio:
concedi il ruolo Autore crittografia/decrittografia CryptoKey Cloud KMS
al service account predefinito di Compute Engine:
- Cripta la password
admindi Ranger utilizzando una chiave Key Management Service (KMS). Per i cluster con versione immagine precedente alla 2.2, la password deve essere composta da almeno 8 caratteri, con almeno un carattere alfabetico e uno numerico. Per i cluster con versione immagine 2.2 e successive, la password deve essere composta da almeno 8 caratteri, con almeno una lettera maiuscola, una lettera minuscola, e un carattere numerico.- Esempio:
- Crea chiavi automatizzate:
gcloud kms keyrings create my-keyring --location=global
- Crea la chiave:
gcloud kms keys create my-key \ --location=global \ --keyring=my-keyring \ --purpose=encryption
- Cripta la password dell'utente
admindi Ranger:echo 'my-ranger-admin-password' | \ gcloud kms encrypt \ --location=global \ --keyring=my-keyring \ --key=my-key \ --plaintext-file=- \ --ciphertext-file=admin-password.encrypted
- Crea chiavi automatizzate:
- Esempio:
- Carica la password criptata in un
bucket Cloud Storage nel tuo progetto.
- Esempio:
gcloud storage cp admin-password.encrypted gs://my-bucket
- Esempio:
- Concedi il
ruolo Autore crittografia/decrittografia CryptoKey Cloud Key Management Service
al service account del cluster. Per impostazione predefinita, il service account del cluster è impostato come service account predefinito di Compute Engine, che ha il seguente formato:
Crea il cluster:
- Quando installi il componente Ranger, devi installare anche il
componente Solr.
- Il componente Ranger si basa sul componente Solr per archiviare ed eseguire query
sui log di controllo, che per impostazione predefinita utilizzano HDFS come spazio di archiviazione. Questi dati HDFS
vengono eliminati quando il cluster viene eliminato. Per configurare
il componente Solr in modo che memorizzi i dati, inclusi i log di controllo di Ranger,
in Cloud Storage, utilizza la
dataproc:solr.gcs.path=gs://<bucket>proprietà del cluster quando crei il cluster. I dati di Cloud Storage vengono conservati dopo l'eliminazione del cluster.
- Il componente Ranger si basa sul componente Solr per archiviare ed eseguire query
sui log di controllo, che per impostazione predefinita utilizzano HDFS come spazio di archiviazione. Questi dati HDFS
vengono eliminati quando il cluster viene eliminato. Per configurare
il componente Solr in modo che memorizzi i dati, inclusi i log di controllo di Ranger,
in Cloud Storage, utilizza la
- Trasmetti gli URI Cloud Storage della chiave KMS e della password al
comando di creazione del cluster impostando le
dataproc:ranger.kms.key.uriedataproc:ranger.admin.password.uriproprietà del cluster. - Facoltativamente, puoi trasmettere la password dell'utente
admindel database Ranger tramite un URI di file Cloud Storage criptato impostando ladataproc:ranger.db.admin.password.uriproprietà del cluster. - Per impostazione predefinita, il componente Ranger utilizza l'istanza del database MySQL in esecuzione
sul primo nodo master del cluster. Nell'istanza MySQL,
abilita il flag
log_bin_trust_function_creatorsimpostando la variabile suON. L'impostazione di questo flag controlla se i creatori di funzioni archiviate possono essere considerati attendibili. Dopo la creazione del cluster e la configurazione di Ranger, puoi reimpostarelog_bin_trust_function_creatorssuOFF. Per conservare il database Ranger dopo l'eliminazione del cluster, utilizza un'istanza Cloud SQL come database MySQL esterno.
- Imposta la proprietà del
dataproc:ranger.cloud-sql.instance.connection.namecluster sull'istanza Cloud SQL. - Imposta la proprietà del
dataproc:ranger.cloud-sql.root.password.uricluster sull'URI Cloud Storage della password root criptata con la chiave KMS dell'istanza Cloud SQL. - Imposta la proprietà del cluster
dataproc:ranger.cloud-sql.use-private-ipper indicare se la connessione all'istanza Cloud SQL avviene tramite IP privato.
Il componente Ranger utilizza il proxy di autenticazione Cloud SQL per connettersi all'istanza Cloud SQL. Per utilizzare il proxy:
- Imposta l'ambito API
sqlservice.adminquando crei il cluster (vedi Autorizzare le richieste con OAuth 2.0). Se utilizzi ilgcloud dataproc cluster createcomando, aggiungi il--scopes=default,sql-adminparametro. - Abilita l'API SQL Admin nel tuo progetto.
- Assicurati che il service account del cluster abbia il ruolo Editor Cloud SQL.
- Poiché il proxy di autenticazione Cloud SQL sul nodo master crea connessioni in uscita all'istanza Cloud SQL sulla porta 3307, assicurati che le connessioni TCP in uscita dal nodo master all'istanza Cloud SQL sulla porta 3307 siano consentite. Per ulteriori informazioni, consulta Come funziona il proxy di autenticazione Cloud SQL.
Interfaccia a riga di comando gcloud
Per creare un cluster Dataproc che includa il componente Ranger, utilizza il comando gcloud dataproc clusters create cluster-name con il 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
API REST
Specifica i componenti Ranger e Solr nel SoftwareConfig.Component come parte di una richiesta clusters.create dell'API Dataproc. Devi anche impostare le seguenti proprietà del cluster nel SoftwareConfig.Component.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"
Console
- Abilita il componente e il gateway dei componenti.
- Nella Google Cloud console, apri la pagina Dataproc Crea un cluster. Il riquadro Configura cluster è selezionato.
- Nella sezione Componenti:
- In Componenti facoltativi, seleziona Ranger, Solr e altri componenti facoltativi da installare sul cluster.
- In Gateway dei componenti, seleziona Attiva gateway dei componenti (vedi Visualizzare e accedere agli URL del gateway dei componenti).
- Imposta la proprietà del
- Quando installi il componente Ranger, devi installare anche il
componente Solr.
Fai clic sulla scheda Interfacce web. In Gateway dei componenti, fai clic su Ranger per aprire l'interfaccia web di Ranger. Accedi con il nome utente amministratore di Ranger (ad esempio "admin") e la password.
Log di amministrazione di Ranger
I log di Ranger admin sono disponibili in
Logging come log ranger-admin-root.