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 la UI web sono disponibili sulla porta
6080
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 di Dataproc supportate per la versione del componente inclusa in ogni release dell'immagine Dataproc.
Procedura di installazione:
Configura la password amministratore di Ranger:
- Concedi il
ruolo Autore crittografia/decrittografia CryptoKey Cloud KMS
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 cluster diverso quando crei il cluster di seguito.project-number-compute@developer.gserviceaccount.com
- Esempio:
Concedi il ruolo Autore crittografia/decrittografia CryptoKey Cloud KMS
al 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
al account di servizio predefinito di Compute Engine:
- Cripta la password dell'utente amministratore Ranger utilizzando una chiave di Key Management Service (KMS).
Per i cluster con versione dell'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 il keyring:
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 il keyring:
- 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
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, come mostrato di seguito.
- Il componente Ranger si basa sul componente Solr per archiviare ed eseguire query
sui log di controllo, che per impostazione predefinita utilizza HDFS come spazio di archiviazione. Questi dati HDFS
vengono eliminati quando il cluster viene eliminato. Per configurare
il componente Solr per archiviare i dati, inclusi i log di controllo Ranger,
su 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 utilizza HDFS come spazio di archiviazione. Questi dati HDFS
vengono eliminati quando il cluster viene eliminato. Per configurare
il componente Solr per archiviare i dati, inclusi i log di controllo 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 inserire la password dell'utente amministratore del database Ranger
tramite un URI di file Cloud Storage criptato
impostando la
dataproc:ranger.db.admin.password.uri
proprietà 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,
attiva il flag
log_bin_trust_function_creators
impostando la variabile suON
. L'impostazione di questo flag controlla se i creator di funzioni archiviate possono essere considerati attendibili. Dopo aver creato correttamente il cluster e configurato Ranger, puoi reimpostarelog_bin_trust_function_creators
suOFF
. Per rendere persistente 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à del cluster sull'istanza Cloud SQL. - Imposta la
dataproc:ranger.cloud-sql.root.password.uri
proprietà del cluster 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-ip
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 il account di servizio del cluster abbia 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 nell'ambito di una richiesta clusters.create dell'API Dataproc. Devi anche impostare le seguenti proprietà del cluster nel campo 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
- 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:
- Nella sezione Componenti facoltativi, seleziona Ranger, Solr e altri componenti facoltativi da installare sul cluster.
- In Gateway dei componenti, seleziona Attiva gateway dei componenti (vedi Visualizzazione e accesso agli URL del gateway dei componenti).
- Imposta la
- Quando installi il componente Ranger, devi installare 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 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
.
