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 di amministrazione Ranger e l'interfaccia utente web sono disponibili sulla porta6080
nel primo nodo master del cluster.
Vedi anche:
Installa 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 componente Solr come mostrato di seguito.
Consulta Versioni Dataproc supportate per la versione del componente inclusa in ogni release dell'immagine Dataproc.
Procedura di installazione:
Configura la password di amministratore di Ranger:
- Concedi il
ruolo Autore crittografia/decrittografia CryptoKey Cloud KMS
all'account di servizio del cluster. Per impostazione predefinita, l'account di servizio del cluster è impostato come account di servizio predefinito di Compute Engine, che ha il seguente formato:
Puoi specificare un account di servizio del cluster diverso quando crei il cluster, come indicato di seguito.project-number-compute@developer.gserviceaccount.com
- Esempio:
concedi il ruolo Autore crittografia/decrittografia CryptoKey Cloud KMS
all'account di servizio 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
all'account di servizio predefinito di Compute Engine:
- Crittografa la password dell'utente amministratore di Ranger utilizzando una chiave di Key Management Service (KMS).
Per i cluster di versioni delle immagini precedenti alla 2.2, la password deve essere composta da almeno 8 caratteri, con almeno un carattere alfabetico e uno numerico. Per i cluster di versioni delle immagini 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 la chiave automatizzata:
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 amministratore di 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 la chiave automatizzata:
- 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 KMS
all'account di servizio del cluster. Per impostazione predefinita, l'account di servizio del cluster è impostato come account di servizio predefinito di Compute Engine, che ha il seguente formato:
Crea il tuo cluster:
- Quando installi il componente Ranger, deve essere installato anche il componente Solr, come mostrato di seguito.
- Il componente Ranger si basa sul componente Solr per archiviare e eseguire query sui suoi log di controllo, che per impostazione predefinita utilizzano HDFS come spazio di archiviazione. Questi dati HDFS vengono eliminati quando viene eliminato il cluster. Per configurare il componente Solr in modo da archiviare i dati, inclusi i log di controllo di Ranger, su Cloud Storage, utilizza la
dataproc:solr.gcs.path=gs://<bucket>
proprietà 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 e eseguire query sui suoi log di controllo, che per impostazione predefinita utilizzano HDFS come spazio di archiviazione. Questi dati HDFS vengono eliminati quando viene eliminato il cluster. Per configurare il componente Solr in modo da archiviare i dati, inclusi i log di controllo di Ranger, su Cloud Storage, utilizza la
- Passa gli URI Cloud Storage della chiave KMS e della password al comando di creazione del cluster impostando le proprietà del cluster
dataproc:ranger.kms.key.uri
edataproc:ranger.admin.password.uri
. - Se vuoi, puoi passare la password dell'utente amministratore del database Ranger tramite un URI file Cloud Storage criptato impostando la
dataproc:ranger.db.admin.password.uri
proprietà cluster. - Per impostazione predefinita, il componente Ranger utilizza l'istanza del database MySQL in esecuzione sul primo nodo master del cluster. Nell'istanza MySQL, attiva il flag
log_bin_trust_function_creators
impostando la variabile suON
. L'impostazione di questo flag consente di stabilire se i creator delle funzioni archiviate possono essere considerati attendibili. Dopo aver creato il cluster e configurato Ranger, puoi reimpostarelog_bin_trust_function_creators
suOFF
. Per mantenere il database Ranger dopo l'eliminazione del cluster, utilizza un'istanza Cloud SQL come database MySQL esterno.
- Imposta la
dataproc:ranger.cloud-sql.instance.connection.name
proprietà cluster sull'istanza Cloud SQL. - Imposta la
dataproc:ranger.cloud-sql.root.password.uri
proprietà cluster sull'URI Cloud Storage della password di accesso criptata con la chiave KMS dell'istanza Cloud SQL. - Imposta la
dataproc:ranger.cloud-sql.use-private-ip
proprietà cluster per indicare se la connessione all'istanza Cloud SQL avviene tramite IP privato.
Il componente Ranger utilizza Cloud SQL Proxy per connettersi all'istanza Cloud SQL. Per utilizzare il proxy:
- Imposta l'ambito dell'API
sqlservice.admin
quando crei il cluster (vedi Autorizzare le richieste con OAuth 2.0). Se utilizzi il comandogcloud dataproc cluster create
, aggiungi il parametro--scopes=default,sql-admin
. - Abilita l'API SQL Admin nel tuo progetto.
- Assicurati che all'account di servizio del cluster sia assegnato il ruolo Editor Cloud SQL.
Comando g-cloud
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 campo SoftwareConfig.Component all'interno di una richiesta clusters.create dell'API Dataproc. Devi anche impostare le seguenti proprietà del cluster nel SoftwareConfig.Component.properties campo:
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
- Attiva il componente e il gateway dei componenti.
- Nella console Google Cloud, 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 (consulta Visualizzare e accedere agli URL del gateway dei componenti).
- Imposta la
- Quando installi il componente Ranger, deve essere installato anche il componente Solr, come mostrato di seguito.
Fai clic sulla scheda Interfacce web. In Component gateway, fai clic su Ranger per aprire l'interfaccia web di Ranger. Accedi con il nome utente e la password dell'amministratore di Ranger (ad esempio "admin").
Log di Ranger Admin
I log di amministrazione di Ranger sono disponibili in
Logging come log ranger-admin-root
.