Componente facoltativo Dataproc

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

Puoi installare componenti aggiuntivi come Ranger quando crei un cluster Dataproc utilizzando la funzionalità Componenti facoltativi. In questa pagina viene descritto il componente Ranger.

Il componente Apache Ranger è un framework open source per gestire le autorizzazioni e i controlli per l'ecosistema Hadoop. Il server di amministrazione del 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 la pagina relativa alle versioni di Dataproc supportate per la versione del componente inclusa in ogni release dell'immagine Dataproc.

Procedura di installazione:

  1. Configurare la password dell'amministratore di Ranger:

    1. Concedi il ruolo Autore crittografia/decriptazione 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:
      project-number-compute@developer.gserviceaccount.com
      
      Puoi specificare un account di servizio cluster diverso quando crei il cluster, di seguito.
      1. Esempio: concedi il ruolo Autore crittografia/decriptazione 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
        
    2. Cripta la password dell'utente dell'amministratore di Ranger utilizzando una chiave Key Management Service (KMS). La password deve essere costituita da almeno 8 caratteri, con minimo un carattere alfabetico e un carattere numerico.
      1. Esempio:
        1. Crea il keyring:
          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. Criptare 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
          
    3. Carica la password criptata in un bucket Cloud Storage nel progetto.
      1. Esempio:
        gsutil cp admin-password.encrypted gs://my-bucket
        
  2. Crea il cluster:

    1. Quando installi il componente Ranger, devi installare anche il componente Solr, come mostrato di seguito.
      1. Il componente Ranger si basa sul componente Solr per archiviare ed eseguire query sui propri audit log, che per impostazione predefinita utilizza HDFS come spazio di archiviazione. Questi dati HDFS vengono eliminati quando viene eliminato il cluster. Per configurare il componente Solr per l'archiviazione dei dati, inclusi gli audit log dei Ranger, su Cloud Storage, utilizza la proprietà cluster dataproc:solr.gcs.path=gs://<bucket> quando crei il cluster, I dati di Cloud Storage vengono mantenuti dopo l'eliminazione del cluster.
    2. Passa gli URI Cloud Storage e la chiave KMS al comando di creazione del cluster impostando le proprietà del cluster dataproc:ranger.kms.key.uri e dataproc:ranger.admin.password.uri.
    3. Facoltativamente, puoi trasferire la password dell'utente amministrativo del database Ranger tramite un URI del file Cloud Storage criptato impostando la proprietà del cluster dataproc:ranger.db.admin.password.uri.
    4. Per impostazione predefinita, il componente Ranger utilizza l'istanza di database MySQL in esecuzione sul primo nodo master del cluster. Nell'istanza MySQL, attiva il flag log_bin_trust_function_creators impostando la variabile su ON. L'impostazione di questo flag consente di stabilire se i creator con funzioni archiviate possono essere considerati attendibili. Dopo aver creato correttamente il cluster e la configurazione del ranger, puoi reimpostare log_bin_trust_function_creators in OFF.
    5. Per rendere permanente il database del ranger dopo l'eliminazione del cluster, utilizza un'istanza Cloud SQL come database esterno MySQL.

      1. Imposta la proprietà del cluster dataproc:ranger.cloud-sql.instance.connection.name sull'istanza Cloud SQL.
      2. Imposta la proprietà del cluster dataproc:ranger.cloud-sql.root.password.uri sull'URI Cloud Storage della password root criptata della chiave KMS dell'istanza Cloud SQL.
      3. 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:

      1. Imposta l'ambito dell'API sqlservice.admin quando crei il cluster (vedi Autorizzazione delle richieste con OAuth 2.0). Se utilizzi il comando gcloud dataproc cluster create, aggiungi il parametro --scopes=default,sql-admin.
      2. Abilitare l'API SQL Admin nel progetto.
      3. Assicurati che l'account di servizio del cluster abbia il ruolo Editor Cloud SQL.

      Comando gcloud

      Per creare un cluster Dataproc che include 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 come parte di una richiesta clusters.create dell'API Dataproc. Devi anche impostare le seguenti proprietà 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"

      Console

      1. Attiva il componente e il gateway del componente.
        • Nella console Google Cloud, apri la pagina Crea un cluster di Dataproc. Viene selezionato il riquadro Configura cluster.
        • Nella sezione Componenti:
          • In Componenti facoltativi, seleziona Ranger, Solr e altri componenti facoltativi da installare sul tuo cluster.
          • In Gateway gateway dei componenti, seleziona Abilita gateway dei componenti (vedi Visualizzazione e accesso agli URL dei componenti).

Fai clic sulla scheda Interfacce web. In Component gateway (Gateway dei componenti), fai clic su Ranger per aprire l'interfaccia web del Ranger. Accedi con il nome utente dell'amministratore di Ranger (ad esempio "admin") e la password.

Log di amministrazione del ranger

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