Componente Ranger facoltativo di Managed Service per Apache Spark

Puoi installare componenti aggiuntivi come Ranger quando crei un cluster Managed Service for Apache Spark utilizzando la funzionalità Componenti facoltativi. Questa pagina descrive il componente Ranger.

Il componente Apache Ranger è un framework open source per gestire le autorizzazioni e l'audit per l'ecosistema Hadoop. Il server Ranger admin e la UI web sono disponibili sulla porta 6080 sul primo nodo master del cluster.

Vedi anche:

Installare il componente

Installa il componente quando crei un cluster Managed Service for Apache Spark. I componenti possono essere aggiunti ai cluster creati con Managed Service for Apache Spark versione 1.3 e successive. Il componente Ranger richiede l'installazione del componente Solr.

Consulta la sezione Versioni di Managed Service for Apache Spark supportate per la versione del componente inclusa in ogni release dell'immagine Managed Service for Apache Spark.

Passaggi di installazione:

  1. Configura la password di Ranger admin:

    1. 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:
      project-number-compute@developer.gserviceaccount.com
      
      Puoi specificare un service account cluster diverso quando crei il cluster.
      1. Esempio: Concedi il ruolo Autore crittografia/decrittografia CryptoKey Cloud KMS al account di servizio Compute Engine predefinito:
        gcloud projects add-iam-policy-binding project-id \
            --member=serviceAccount:project-number-compute@developer.gserviceaccount.com \
            --role=roles/cloudkms.cryptoKeyDecrypter
        
    2. Cripta la password di Ranger admin 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.
      1. Esempio:
        1. Crea chiavi automatizzate:
          gcloud kms keyrings create my-keyring --location=global
          
        2. Crea la chiave:
          gcloud kms keys create my-key \
              --location=global \
              --keyring=my-keyring \
              --purpose=encryption
          
        3. Cripta la password utente di Ranger admin:
          echo 'my-ranger-admin-password' | \
            gcloud kms encrypt \
              --location=global \
              --keyring=my-keyring \
              --key=my-key \
              --plaintext-file=- \
              --ciphertext-file=admin-password.encrypted
          
    3. Carica la password criptata in un bucket Cloud Storage nel tuo progetto.
      1. Esempio:
        gcloud storage cp admin-password.encrypted gs://my-bucket
        
  2. Crea il cluster:

    1. Quando installi il componente Ranger, devi installare anche il componente Solr.
      1. 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.
    2. 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 e dataproc:ranger.admin.password.uri.
    3. Se vuoi, puoi inserire la password utente admin del database Ranger tramite un URI di file Cloud Storage criptato impostando la dataproc:ranger.db.admin.password.uri proprietà del cluster.
    4. Per impostazione predefinita, il componente Ranger utilizza l'istanza del database MySQL in esecuzione sul primo nodo master del cluster. Per rendere persistente il database Ranger dopo l'eliminazione del cluster, puoi configurare il cluster in modo che utilizzi un'istanza Cloud SQL esterna. Per utilizzare un'istanza Cloud SQL esterna, segui questi passaggi:

      1. Prima della creazione del cluster, devi configurare l'istanza Cloud SQL per attivare il flag di database log_bin_trust_function_creators impostandolo su on. Ciò consente l'esecuzione degli script di configurazione dello schema Ranger durante la creazione del cluster. Dopo aver creato correttamente il cluster, puoi reimpostare questo flag su off.
      2. Imposta la dataproc:ranger.cloud-sql.instance.connection.name proprietà del cluster sull'istanza Cloud SQL.
      3. 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.
      4. Imposta la dataproc:ranger.cloud-sql.use-private-ip proprietà del cluster per indicare se la connessione all'istanza Cloud SQL avviene tramite IP privato.

      Quando utilizzi un'istanza Cloud SQL esterna, il componente Ranger utilizza il Cloud SQL Auth Proxy per connettersi all'istanza Cloud SQL. Per utilizzare il proxy:

      1. Imposta l'ambito API sqlservice.admin quando crei il cluster (vedi Autorizzare le richieste con OAuth 2.0). Se utilizzi il comando gcloud dataproc cluster create, aggiungi il parametro --scopes=default,sql-admin.
      2. Abilita l'API SQL Admin nel tuo progetto.
      3. Assicurati che il account di servizio del cluster abbia il ruolo Editor Cloud SQL.
      4. Poiché il Cloud SQL Auth Proxy 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 saperne di più, consulta Come funziona il proxy di autenticazione Cloud SQL.

    ConsoleGoogle Cloud

    1. Nella console Google Cloud , apri la pagina Crea cluster.
    2. Fai clic su Configurazione aggiuntiva per espandere la sezione.
    3. Modifica Componenti facoltativi.
    4. Nel riquadro visualizzato, seleziona le caselle di controllo per Ranger e Solr, poi fai clic su Salva.

    gcloud CLI

    Per creare un cluster Managed Service for Apache Spark 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:

    1. dataproc:ranger.kms.key.uri: "projects/project-id/locations/global/keyRings/my-keyring/cryptoKeys/my-key"
    2. dataproc:ranger.admin.password.uri : "gs://my-bucket/admin-password.encrypted"

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 Ranger Admin

I log di Ranger admin sono disponibili in Logging come log ranger-admin-root.