Risolvi i problemi di rete di Dataflow

Questa pagina mostra come risolvere i problemi relativi al networking Dataflow.

Per ulteriori informazioni sulla configurazione del networking per i job Dataflow, vedi Configurare l'accesso a internet e le regole del firewall e Specifica una rete e una subnet.

L'interfaccia di rete deve specificare una subnet se la risorsa di rete è in modalità subnet personalizzata

Quando esegui un job Dataflow si verifica il seguente errore:

Workflow failed. Causes: Invalid Error: Message: Invalid value for field
'resource.properties.networkInterfaces[0].subnetwork': ''. Network interface
must specify a subnet if the network resource is in custom subnet mode. HTTP
Code: 400

Questo problema si verifica se la rete VPC denominata default era convertita da una rete VPC dalla modalità automatica a una modalità personalizzata rete VPC.

Per risolvere il problema, specifica il parametro della subnet quando utilizzi un parametro di rete VPC dalla modalità di attivazione/disattivazione. Per ulteriori informazioni, vedi Specifica una rete e una subnet.

Impossibile creare PoolableConnectionFA

Il seguente errore si verifica quando il job Dataflow deve connettersi in un database esterno:

java.sql.SQLException: Cannot create PoolableConnectionFactory
(The connection attempt failed.)

Questo problema si verifica quando il worker Dataflow non riesce a stabilire una connessione con il server del database, spesso a causa di un in uscita o un firewall.

Per identificare la causa principale del problema, crea ed esegui Connectivity Tests. Connectivity Tests può aiutarti identificare dove il traffico è bloccato.

Per aggiornare le regole in uscita, consulta Esempio di regola di traffico in uscita del firewall.

Non sono consentiti riferimenti tra progetti per questa risorsa

Il seguente errore si verifica quando esegui un job Dataflow su un Rete VPC condiviso:

Invalid value for field 'resource.properties.networkInterfaces[0].subnetwork':
'https://www.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/subnetworks/SUBNETWORK'.
Cross-project references for this resource are not allowed.

Questo problema si verifica se specifichi una subnet in una rete VPC condiviso, ma il progetto di servizio non è collegato al progetto host del VPC condiviso.

Per risolvere questo problema, è necessario che un amministratore del VPC condiviso di collegare il progetto di servizio al progetto host.

Rete non raggiungibile

Il seguente errore si verifica quando gli IP pubblici sono disabilitati e tenti di eseguire un Job Dataflow:

NewConnectionError(''<pip._vendor.urllib3.connection.HTTPSConnection  object at ID>:
Failed to establish a new connection: [Errno 101] Network is unreachable

Questo problema si verifica perché la configurazione della pipeline non consente connessioni a indirizzi IP esterni, ma la tua pipeline deve connettersi a un IP esterno eseguire. Le seguenti opzioni della pipeline disabilitano le connessioni IP esterni:

Java

--usePublicIps=false

Python

--no_use_public_ips=true

Vai

--no_use_public_ips=true

API

options = PipelineOptions(use_public_ips=False)

Per identificare dove il traffico è bloccato, crea ed esegui Connectivity Tests.

Per risolvere il problema senza consentire connessioni a indirizzi IP esterni: apporta una o più delle seguenti modifiche.

Per ulteriori informazioni sulla configurazione dell'accesso a internet per Dataflow, consulta Accesso a internet per Dataflow.

La rete o la subnet non è accessibile all'account di servizio Dataflow o non esiste

Quando provi a eseguire un flusso di dati Dataflow, si verifica uno dei seguenti errori un lavoro. Il job non va a buon fine.

Workflow failed. Causes: Network default is not accessible to Dataflow Service
account or does not exist
Workflow failed. Causes: Subnetwork SUBNETWORK is not
accessible to Dataflow Service account or does not exist

Il problema può verificarsi per i seguenti motivi:

  • Quando crei la subnet, ometti entrambi i parametri della subnet e della rete Job Dataflow, ma una rete VPC in modalità automatica denominato default non esiste nel tuo progetto. Potresti non avere un rete predefinita se la rete predefinita è stata eliminata o se un'organizzazione un vincolo di criterio impedisce di creare una rete predefinita.
  • Manca la subnet.
  • Il parametro della subnet non è specificato correttamente.
  • Le autorizzazioni richieste per l'account di servizio Dataflow sono mancante.
  • Se utilizzi un VPC condiviso, il valore dell'host deve essere quello in cui è ospitato il VPC. Per saperne di più sul VPC condiviso, consulta Panoramica della rete VPC condivisa.

Per risolvere il problema, segui le linee guida per specificare una rete e una subnet.

Timeout della RPC o connessione non riuscita sulle porte 12345 o 12346

Quando esegui un job Dataflow si verifica uno dei seguenti errori che non utilizza Streaming Engine o Dataflow Shuffle. Il job si blocca o non funziona.

Per i job di flussi:

Rpc to WORKER_HARNESS:12345 completed with error
UNAVAILABLE: failed to connect to all addresses; last error : UNKNOWN:
ipv4:WORKER_IP_ADDRESS:12345: Failed to connect to remote
host: FD Shutdown

Per i job batch:

(g)RPC timed out when SOURCE_WORKER_HARNESS talking to
DESTINATION_WORKER_HARNESS:12346.

Questo problema si verifica se una regola firewall che consente il traffico di rete sulle porte TCP 12345 e 12346 mancanti. Quando il lavoro utilizza più worker, non sono in grado di comunicare tra loro.

Per risolvere il problema, fai riferimento alla procedura di risoluzione dei problemi in DEADLINE_EXCEEDED o il server non risponde.

Il singolo worker viene avviato e arrestato ripetutamente

Il seguente problema si verifica quando avvii un job Dataflow. Attivato alla pagina Metriche job del job Dataflow, Il grafico Utilizzo CPU (tutti i worker) mostra che un worker viene ripetuto è stato avviato e poi arrestato dopo pochi minuti. È disponibile un solo worker per in un determinato momento.

Grafico sull&#39;utilizzo della CPU che mostra che un worker alla volta viene creato e poi arrestato ripetutamente.

Si verifica il seguente errore:

The Dataflow job appears to be stuck because no worker activity has been seen
in the last 1h. Please check the worker logs in Stackdriver Logging.

Nessun log del worker creato.

Nei log del job potrebbero essere visualizzati più messaggi simili al seguente:

Autoscaling: Raised the number of workers to 1 based on the rate of progress in
the currently running stage(s).

Questo problema si verifica se la rete VPC non dispone di un una route a internet e una route predefinita alla subnet.

Per risolvere il problema, aggiungi route predefinite alla tua rete VPC. Per ulteriori informazioni, vedi Accesso a internet per Dataflow.

La subnet non dispone dell'accesso privato Google

Il seguente errore si verifica quando avvii un job Dataflow in cui gli indirizzi IP esterni sono disabilitati:

Workflow failed. Causes: Subnetwork SUBNETWORK on project
PROJECT_ID network NETWORK in
region REGION does not have Private Google Access, which
is required for usage of private IP addresses by the Dataflow workers.

Questo problema si verifica se disattivare gli indirizzi IP esterni senza abilitare l'accesso privato Google.

Per risolvere il problema, abilita l'accesso privato Google per la subnet utilizzata dal job Dataflow.

Impossibile creare Dataflow con un intervallo IP specificato

Dataflow non supporta l'assegnazione di un intervallo IP statico delle VM worker. Come soluzione alternativa, puoi creare una subnet con uno specifico di indirizzi IP ed eseguire il deployment del job Dataflow una subnet.

Per ulteriori informazioni sull'uso di subnet con Dataflow, consulta Specifica una rete e una subnet.

Per informazioni sulla configurazione di intervalli IP nelle subnet, consulta Configura intervalli IP alias.

Per eseguire la pipeline nella subnet, consulta Esegui la pipeline con la subnet specificata.

Potrebbe essere necessario anche creare una regola NAT e un router. Per ulteriori informazioni, consulta Cloud NAT.

Passaggi successivi

Per ulteriori passaggi per la risoluzione dei problemi di rete, vedi Risolvi i problemi di connettività interna tra le VM.