Soluciona problemas de herramientas de redes de Dataflow

En esta página, se muestra cómo resolver problemas con las redes de Dataflow.

Para obtener más información sobre cómo configurar las redes de tus trabajos de Dataflow, consulta Configurar el acceso a Internet y las reglas de firewall y Especificar una red y una subred.

La interfaz de red debe especificar una subred si el recurso de red está en modo de subred personalizado

El siguiente error ocurre cuando ejecutas un trabajo de Dataflow:

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

Este problema ocurre si la red de VPC llamada default se convirtió de una red de VPC de modo automático a una red de VPC de modo personalizado.

Para resolver este problema, especifica el parámetro de subred cuando uses una red de VPC de modo personalizado. Para obtener más información, consulta Especifica una red y una subred.

No se puede crear PoolableConnectionFactory

El siguiente error ocurre cuando el trabajo de Dataflow necesita conectarse a una base de datos externa:

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

Este problema se produce cuando el trabajador de Dataflow no puede establecer una conexión con el servidor de la base de datos, a menudo se debe a una regla de salida o un firewall.

Para identificar la causa raíz de este problema, crea y ejecuta pruebas de conectividad. Las pruebas de conectividad pueden ayudarte a identificar dónde está bloqueado el tráfico.

Para actualizar tus reglas de salida, consulta Ejemplo de regla de salida de firewall.

No se permiten las referencias entre proyectos de este recurso.

El siguiente error ocurre cuando ejecutas un trabajo de Dataflow en una red de VPC compartida:

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.

Este problema ocurre cuando especificas una subred en una red de VPC compartida, pero el proyecto de servicio no está vinculado al proyecto host de la VPC compartida.

Para resolver este problema, un administrador de VPC compartida debe vincular el proyecto de servicio al proyecto host.

No se puede alcanzar la red

El siguiente error ocurre cuando tienes inhabilitadas las IP públicas y, luego, intentas ejecutar un trabajo de Dataflow:

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

Este problema se produce porque la configuración de tu canalización no permite conexiones a direcciones IP externas, pero la canalización debe conectarse a una IP externa para ejecutarse. Las siguientes opciones de canalización inhabilitan las conexiones IP externas:

Java

--usePublicIps=false

Python

--no_use_public_ips=true

Go

--no_use_public_ips=true

API

options = PipelineOptions(use_public_ips=False)

Para identificar dónde está bloqueado el tráfico, crea y ejecuta pruebas de conectividad.

Para resolver este problema sin permitir conexiones a direcciones IP externas, realiza uno o más de los siguientes cambios.

Si deseas obtener más información sobre cómo configurar el acceso a Internet para Dataflow, consulta Acceso a Internet para Dataflow.

La cuenta de servicio de Dataflow no puede acceder a la red o subred o no existe

Uno de los siguientes errores se produce cuando intentas ejecutar un trabajo de Dataflow. En caso de que la tarea fracase.

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

Esto puede suceder por los siguientes motivos:

  • Omites la subred y los parámetros de red cuando creas el trabajo de Dataflow, pero no existe una red de VPC de modo automático llamada default en tu proyecto. Es posible que no tengas una red predeterminada si esta se borró o si una restricción de la política de la organización te impide crear una red predeterminada.
  • Falta la subred.
  • El parámetro de subred se especificó de forma incorrecta.
  • Faltan los permisos necesarios para la cuenta de servicio de Dataflow.
  • Si usas una VPC compartida, el valor del proyecto host debe ser el proyecto en el que se aloja la VPC. Consulta Descripción general de la VPC compartida para obtener más información sobre la VPC compartida.

Para resolver este problema, sigue los lineamientos para especificar una red y una subred.

Se agotó el tiempo de espera de RPC o no se pudo conectar en los puertos 12345 o 12346

Uno de los siguientes errores ocurre cuando ejecutas un trabajo de Dataflow que no usa Streaming Engine ni Dataflow Shuffle. El trabajo se atasca o falla.

Para los trabajos de transmisión:

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

Para los trabajos por lotes:

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

Este problema se produce si falta una regla de firewall que permite el tráfico de red en los puertos TCP 12345 y 12346. Cuando el trabajo usa varios trabajadores, estos no pueden comunicarse entre sí.

Para resolver el problema, consulta los pasos para solucionar problemas en DEADLINE_EXCEEDED o Server Unresponsive.

Un solo trabajador se inicia y se detiene varias veces

El siguiente problema ocurre cuando inicias un trabajo de Dataflow. En la página del trabajo Métricas del trabajo de Dataflow, el gráfico uso de CPU (todos los trabajadores) muestra que un trabajador comenzó varias veces y se detuvo después de unos minutos. Solo hay un trabajador disponible a la vez.

Gráfico del uso de CPU en el que se muestra que un trabajador a la vez se crea de forma repetida y, luego, se detiene.

Se produce el siguiente error:

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.

No se crean registros de trabajadores.

En los registros de trabajos, pueden aparecer varios mensajes similares a los siguientes:

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

Este problema se produce si la red de VPC no tiene una ruta predeterminada a Internet y una ruta predeterminada a la subred.

Para solucionar este problema, agrega rutas predeterminadas a la red de VPC. Para obtener más información, consulta Acceso a Internet para Dataflow.

La subred no tiene acceso privado a Google

El siguiente error ocurre cuando inicias un trabajo de Dataflow en el que las direcciones IP externas están inhabilitadas:

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.

Este problema se produce si desactivas las direcciones IP externas sin habilitar el acceso privado a Google.

Para resolver este problema, habilita el Acceso privado a Google para la subred que usa el trabajo de Dataflow.

No se puede crear Dataflow con un rango de IP especificado

Dataflow no admite la asignación de un rango de IP estático a las VM de trabajador. Como solución alternativa, puedes crear una subred con un rango de direcciones IP e implementar el trabajo de Dataflow en esa subred.

Para obtener más información sobre el uso de subredes con Dataflow, consulta Especificar una red y una subred.

Para obtener información sobre cómo configurar rangos de IP en subredes, consulta Configurar rangos de IP de alias.

Para ejecutar tu canalización en la subred, consulta Ejecutar tu canalización con la subred especificada.

Es posible que también debas crear una regla NAT y un router. Para obtener más información, consulta Cloud NAT.

¿Qué sigue?

Si quieres ver más pasos para solucionar problemas de red, consulta Solucionar los problemas de conectividad interna entre las VM.