Risoluzione dei problemi di connettività di Dataproc Metastore

Questa pagina fornisce indicazioni per la diagnosi e la risoluzione dei problemi di connettività comuni durante la connessione di cluster Dataproc o carichi di lavoro Dataproc Serverless a un servizio Dataproc Metastore gestito.

Sintomi e messaggi di errore comuni

Quando Dataproc riscontra problemi di connettività con Dataproc Metastore, potresti visualizzare errori come:

  • Unable to connect to Hive Metastore
  • Connection refused
  • Host unreachable
  • javax.jdo.JDOException o errori di connessione al database simili
  • Errori di timeout durante il tentativo di elencare database o tabelle oppure durante l'invio di job Spark o Hive che interagiscono con Metastore.

Cause comuni e procedure di risoluzione dei problemi

Questa sezione descrive i motivi comuni per cui si verificano problemi di connettività di Dataproc Metastore e fornisce passaggi specifici per la risoluzione dei problemi per ciascun motivo.

1. Problemi di configurazione di rete

Le configurazioni errate della rete sono la causa più frequente di errori di connettività tra i carichi di lavoro Dataproc e Dataproc Metastore.

  • Peering di rete Virtual Private Cloud o accesso privato ai servizi:

    • In genere, le istanze Dataproc Metastore vengono accessibili utilizzando un intervallo di indirizzi IP privati tramite una connessione di peering di rete Virtual Private Cloud (in particolare, accesso privato ai servizi).
    • Verifica lo stato del peering:verifica che la connessione di peering Virtual Private Cloud tra la rete Virtual Private Cloud del tuo workload Dataproc e la rete del producer di servizi per Dataproc Metastore sia attiva e integra. Puoi verificarlo nella consoleGoogle Cloud in Rete VPC > Peering di rete VPC.
    • Allocazione dell'intervallo IP:verifica che sia stato allocato un intervallo IP sufficiente per l'accesso privato ai servizi nella tua rete Virtual Private Cloud.
  • Regole firewall:

    • Verifica che le regole firewall nella rete Virtual Private Cloud del tuo carico di lavoro Dataproc consentano il traffico in uscita sulla porta utilizzata da Dataproc Metastore (il valore predefinito è 9083).
    • Verifica che non ci siano regole di ingresso eccessivamente restrittive sul lato della rete producer di servizi che bloccano il traffico dal tuo carico di lavoro Dataproc.
  • Risoluzione DNS:

    • Conferma che il nome host dell'endpoint Metastore (ad es. your-metastore-endpoint.us-central1.dataproc.cloud.google.com) si risolve correttamente in un indirizzo IP privato dal tuo cluster Dataproc o ambiente Dataproc Serverless.
    • I problemi con le zone private di Cloud DNS o con l'inoltro DNS possono causare errori di risoluzione.

Procedura per la risoluzione dei problemi (rete):

  1. Controlla le informazioni di connettività di Dataproc Metastore:
    • Nella console Google Cloud , vai a Dataproc Metastore e seleziona la tua istanza.
    • Prendi nota dell'URI dell'endpoint e della rete a cui è connesso.
  2. Verifica il peering VPC o l'accesso privato ai servizi:
    • Vai a Rete VPC > Peering di rete VPC. Verifica che la connessione di peering a servicenetworking-googleapis-com sia ACTIVE.
  3. Utilizza i test di connettività:utilizza i test di connettività di Google Cloudper diagnosticare il percorso di rete da una VM Compute Engine nella subnet del carico di lavoro Dataproc all'indirizzo IP e alla porta dell'endpoint Dataproc Metastore.
  4. Controlla i log del firewall:se sospetti che il problema riguardi le regole firewall, analizza i log di Cloud Firewall per le connessioni rifiutate.

2. Autorizzazioni IAM

Il account di servizio utilizzato dal tuo carico di lavoro Dataproc richiede ruoli IAM appropriati per accedere a Dataproc Metastore.

  • Ruolo richiesto:il account di servizio deve avere il ruolo Utente Dataproc Metastore (roles/datametastore.user) nell'istanza o nel progetto Dataproc Metastore.
  • Autorizzazioni dell'agente di servizio:verifica che l'agente di servizio Dataproc disponga delle autorizzazioni necessarie se Dataproc accede implicitamente a Metastore.

Passaggi per la risoluzione dei problemi (IAM):

  1. Identifica il service account:determina il account di servizio utilizzato dal tuo cluster Dataproc o dal batch Dataproc Serverless.
  2. Verifica dei ruoli IAM: vai a IAM e amministrazione > IAM nella console Google Cloud . Controlla i ruoli assegnati al account di servizio nel progetto o nell'istanza Dataproc Metastore. Concedi roles/datametastore.user se mancante.
  3. Per maggiori dettagli sulla configurazione del account di servizio, consulta:

3. Configurazione endpoint errata

Il carico di lavoro Dataproc deve essere configurato con l'URI dell'endpoint Dataproc Metastore corretto.

Procedura per la risoluzione del problema (endpoint):

  1. Verifica l'URI dell'endpoint:controlla la proprietà Spark hive.metastore.uris o qualsiasi altra configurazione utilizzata per specificare l'endpoint Dataproc Metastore nell'invio del workload. Verifica che corrisponda all'URI endpoint dei dettagli dell'istanza Dataproc Metastore.

4. Altre considerazioni

  • Stato del metastore:verifica che l'istanza Dataproc Metastore si trovi nello stato HEALTHY nella console Google Cloud . Se non è integro, risolvi prima i problemi interni del metastore.
  • Compatibilità delle versioni: anche se rari, verifica che non ci siano problemi di compatibilità noti tra la versione dell'immagine Dataproc e la versione di Dataproc Metastore.
  • Proxy SQL e servizio gestito:se utilizzi Cloud SQL come Metastore utilizzando l'azione di inizializzazione cloud-sql-proxy.sh, consulta la risoluzione dei problemi specifica nel file README dell'azione di inizializzazione del proxy Cloud SQL.

Passaggi successivi