

AWS Data Pipeline ya no está disponible para nuevos clientes. Los clientes actuales de AWS Data Pipeline pueden seguir utilizando el servicio con normalidad. [Más información](https://aws.amazon.com/blogs/big-data/migrate-workloads-from-aws-data-pipeline/)

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Resolución de problemas comunes
<a name="dp-check-when-run-fails"></a>

En este tema se describen varios síntomas de AWS Data Pipeline problemas y los pasos recomendados para solucionarlos. 

**Topics**
+ [Canalización bloqueada en estado pendiente](#dp-pipeline-doesnt-start)
+ [Componente de la canalización bloqueado en el estado Waiting for Runner](#dp-waiting-for-runner)
+ [Componente de la canalización bloqueado en el estado WAITING\_ON\_DEPENDENCIES](#dp-runs-stay-pending)
+ [No se ejecuta cuando está programada](#dp-run-doesnt-start-scheduled)
+ [Los componentes de la canalización se ejecutan en el orden incorrecto](#dp-out-of-order)
+ [El clúster de EMR falla con un error: el token de seguridad que se incluye en la solicitud no es válido](#dp-securitytoken)
+ [Permisos insuficientes para obtener acceso a los recursos](#dp-insufficient-permissions)
+ [Código de estado: 400 Código de error: PipelineNotFoundException](#dp-error-code-400)
+ [La creación de una canalización produce un error del token de seguridad](#dp-bad-token)
+ [No se pueden ver los detalles de la canalización en la consola](#dp-no-details-shown)
+ [Error in remote runner Status Code: 404, AWS Service: Amazon S3](#dp-error-code-s3-404)
+ [Acceso denegado: no está autorizado a realizar la función datapipeline:](#dp-access-denied)
+ [Amazon EMR más antiguo AMIs puede crear datos falsos para archivos CSV de gran tamaño](#AMIs-false-data-large-CSV)
+ [AWS Data Pipeline Límites crecientes](#dp-increase-limits)

## Canalización bloqueada en estado pendiente
<a name="dp-pipeline-doesnt-start"></a>

Si una canalización aparece en el estado PENDING, indica que una canalización aún no se ha activado o la activación ha fallado debido a un error en su definición. Asegúrese de no haber recibido ningún error al enviar la canalización mediante la AWS Data Pipeline CLI o al intentar guardar o activar la canalización mediante la AWS Data Pipeline consola. Además, compruebe que la canalización tiene una definición válida.

Para ver la definición de la canalización en la pantalla mediante la CLI:

```
aws datapipeline --get-pipeline-definition --pipeline-id {{df-EXAMPLE_PIPELINE_ID}}
```

Asegúrese de que la definición de la canalización está completa, compruebe las llaves de cierre, verifique las comas necesarias, compruebe si faltan referencias y si hay otros errores de sintaxis. Lo mejor es utilizar un editor de texto que permita validar visualmente la sintaxis de los archivos JSON.

## Componente de la canalización bloqueado en el estado Waiting for Runner
<a name="dp-waiting-for-runner"></a>

Si la canalización se encuentra en el estado SCHEDULED y una o varias tareas aparecen atascadas en el estado WAITING\_FOR\_RUNNER, asegúrese de que ha establecido un valor válido en los campos runsOn o workerGroup para esas tareas. Si ambos valores están vacíos o no existen, la tarea no se puede iniciar, ya que no existe una asociación entre la tarea y un trabajador para llevar a cabo las tareas. En esta situación, se ha definido el trabajo, pero no se ha definido qué equipo realiza dicho trabajo. Si procede, compruebe que el valor de workerGroup asignado al componente de la canalización sea exactamente el mismo nombre, con las mismas mayúsculas y minúsculas, que el valor de workerGroup que ha configurado para Task Runner. 

**nota**  
Si proporciona un valor runsOn y workerGroup existe, se hace caso omiso de workerGroup.

Otra posible causa de este problema es que el punto final y la clave de acceso proporcionados a Task Runner no son los mismos que los de la AWS Data Pipeline consola o el equipo en el que están instaladas las herramientas AWS Data Pipeline CLI. Es posible que haya creado nuevas canalizaciones sin errores visibles, pero Task Runner sondea la posición errónea debido a la diferencia de credenciales o sondea la ubicación correcta con permisos insuficientes para identificar y ejecutar el trabajo especificado en la definición de la canalización. 

## Componente de la canalización bloqueado en el estado WAITING\_ON\_DEPENDENCIES
<a name="dp-runs-stay-pending"></a>

Si la canalización se encuentra en el estado `SCHEDULED` y una o varias tareas aparecen atascadas en el estado `WAITING_ON_DEPENDENCIES`, asegúrese de que se han cumplido las condiciones previas iniciales de la canalización. Si las condiciones previas del primer objeto de la cadena de lógica no se cumplen, ninguno de los objetos que dependen de ese primer objeto podrá salir del estado `WAITING_ON_DEPENDENCIES`. 

Por ejemplo, tenga en cuenta el siguiente fragmento de una definición de canalización. En este caso, el `InputData` objeto tiene la condición previa «Listo», que especifica que los datos deben existir antes de que el InputData objeto esté completo. Si los datos no existen, el InputData objeto permanece en ese `WAITING_ON_DEPENDENCIES` estado esperando a que estén disponibles los datos especificados en el campo de ruta. Todos los objetos que dependan del InputData mismo modo permanecen en un `WAITING_ON_DEPENDENCIES` estado esperando a que el InputData objeto alcance ese `FINISHED` estado. 

```
{
    "id": "InputData",
    "type": "S3DataNode",
    "filePath": "s3://elasticmapreduce/samples/wordcount/wordSplitter.py",
    "schedule":{"ref":"MySchedule"},
    "precondition": "Ready"      
},
{
    "id": "Ready",
    "type": "Exists"
...
```

 Además, compruebe que los objetos tengan los permisos adecuados para acceder a los datos. En el ejemplo anterior, si la información del campo de credenciales no tuviera permisos para acceder a los datos especificados en el campo de ruta, el InputData objeto se quedaría atascado en un `WAITING_ON_DEPENDENCIES` estado dado que no puede acceder a los datos especificados en el campo de ruta, incluso si esos datos existen. 

También es posible que un recurso que se comunica con Amazon S3 no tenga asociada una dirección IP pública. Por ejemplo, un `Ec2Resource` en una subred pública debe tener asociada una dirección IP pública. 

Por último, en determinadas condiciones, las instancias de recursos pueden alcanzar el estado `WAITING_ON_DEPENDENCIES` mucho antes del inicio programado de sus actividades asociadas, lo que puede dar la impresión de que el recurso o la actividad fallan.

## No se ejecuta cuando está programada
<a name="dp-run-doesnt-start-scheduled"></a>

Compruebe que ha elegido el tipo de programación correcta que determina si su tarea comienza al principio del intervalo de programación (tipo de programación de estilo cron) o al final del intervalo de programación (tipo de programación de serie temporal).

Además, compruebe que ha especificado correctamente las fechas en los objetos de la programación y que los endDateTime valores startDateTime y están en formato UTC, como en el ejemplo siguiente:

```
{
    "id": "MySchedule",
    "startDateTime": "2012-11-12T19:30:00",
    "endDateTime":"2012-11-12T20:30:00",
    "period": "1 Hour",
    "type": "Schedule"
},
```

## Los componentes de la canalización se ejecutan en el orden incorrecto
<a name="dp-out-of-order"></a>

Es posible que se haya dado cuenta de que las horas de inicio y finalización de la ejecución de los componentes de la canalización están en el orden incorrecto o en una secuencia que no es la esperada. Es importante entender que los componentes de la canalización pueden comenzar a ejecutarse simultáneamente si se cumplen las condiciones previas en el momento del arranque. En otras palabras, los componentes de canalización no se ejecutan de forma secuencial de forma predeterminada; si necesita una orden de ejecución específica, debe controlar el orden de ejecución con condiciones previas y campos `dependsOn`. 

Compruebe que está utilizando el campo `dependsOn` que se ha rellenado con una referencia a los componentes de la canalización con los requisitos previos correctos y que todos los indicadores necesarios entre los componentes están presentes para lograr el orden que necesita. 

## El clúster de EMR falla con un error: el token de seguridad que se incluye en la solicitud no es válido
<a name="dp-securitytoken"></a>

Verifique sus roles de IAM, políticas y relaciones de confianza, tal y como se describe en [Funciones de IAM para AWS Data Pipeline](dp-iam-roles.md).

## Permisos insuficientes para obtener acceso a los recursos
<a name="dp-insufficient-permissions"></a>

Los permisos que establezca en las funciones de IAM determinan si AWS Data Pipeline puede acceder a los clústeres de EMR y a las instancias de EC2 para ejecutar sus canalizaciones. Además, IAM proporciona el concepto de las relaciones de confianza que van más allá para permitir la creación de recursos en su nombre. Por ejemplo, cuando crea una canalización que utiliza una instancia de EC2 para ejecutar un comando para mover datos, AWS Data Pipeline puede aprovisionar esta instancia de EC2 automáticamente. Si tiene problemas, especialmente los relacionados con recursos a los que puede acceder manualmente, pero a los que AWS Data Pipeline no puede acceder, compruebe sus funciones, políticas y relaciones de confianza de IAM tal y como se describe en. [Funciones de IAM para AWS Data Pipeline](dp-iam-roles.md)

## Código de estado: 400 Código de error: PipelineNotFoundException
<a name="dp-error-code-400"></a>

Este error significa que es posible que sus funciones predeterminadas de IAM no tengan los permisos necesarios AWS Data Pipeline para funcionar correctamente. Para obtener más información, consulte [Funciones de IAM para AWS Data Pipeline](dp-iam-roles.md). 

## La creación de una canalización produce un error del token de seguridad
<a name="dp-bad-token"></a>

Recibe el siguiente mensaje de error cuando intenta crear una canalización:

Failed to create pipeline with 'pipeline\_name'. Error: UnrecognizedClientException - El token de seguridad incluido en la solicitud no es válido.

## No se pueden ver los detalles de la canalización en la consola
<a name="dp-no-details-shown"></a>

El filtro de canalización de la AWS Data Pipeline consola se aplica a la fecha de inicio *programada* de una canalización, independientemente de cuándo se envió la canalización. Es posible enviar una nueva canalización utilizando una fecha de inicio programada que está en el pasado, que es posible que no muestre el filtro de fecha predeterminado. Para ver los detalles de la canalización, cambie el filtro de fecha para asegurarse de que la fecha de inicio de la canalización programada se ajusta al filtro de intervalos de fechas. 

## Error in remote runner Status Code: 404, AWS Service: Amazon S3
<a name="dp-error-code-s3-404"></a>

 Este error significa que Task Runner no ha podido tener acceso a los archivos en Amazon S3. Verifique lo siguiente: 
+  Si se han establecido correctamente las credenciales. 
+  Si el bucket de Amazon S3 al que está intentando acceder existe 
+  Si está autorizado a acceder al bucket de Amazon S3 

## Acceso denegado: no está autorizado a realizar la función datapipeline:
<a name="dp-access-denied"></a>

En los registros de Task Runner, es posible que vea un error que es similar a lo siguiente: 
+  ERROR Status Code: 403 
+  Servicio de AWS: DataPipeline 
+  Código de error de AWS: AccessDenied 
+ Mensaje de error de AWS: El usuario: arn:aws:sts: :xxxxxxxxxxxx:federated-user/i-xxxxxxxx no está autorizado a realizar: datapipeline:. PollForTask

**nota**  
En este PollForTask mensaje de error, puede sustituirse por los nombres de otros AWS Data Pipeline permisos.

Este mensaje de error indica que la función de IAM que especificó necesita los permisos adicionales necesarios para interactuar con AWS Data Pipeline ella. Asegúrese de que su política de funciones de IAM contenga las siguientes líneas, sustituyéndolas por el nombre del permiso que desee añadir (utilice \* para conceder todos los permisos). PollForTask Para obtener más información acerca de cómo crear un nuevo rol de IAM; y aplicarle una política, consulte la [Administración de políticas de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/ManagingPolicies.html) en la guía de *Uso de IAM*. 

```
{
"Action": [ "datapipeline:PollForTask" ],
"Effect": "Allow",
"Resource": ["*"]
}
```

## Amazon EMR más antiguo AMIs puede crear datos falsos para archivos CSV de gran tamaño
<a name="AMIs-false-data-large-CSV"></a>

En Amazon EMR, versiones AMIs anteriores a la versión 3.9 (3.8 y versiones anteriores) AWS Data Pipeline utilizan una configuración personalizada InputFormat para leer y escribir archivos CSV para usarlos con MapReduce trabajos. Esto se utiliza cuando el servicio utiliza tablas provisionales para enviar y recibir datos de Amazon S3. Se InputFormat descubrió un problema por el cual la lectura de registros de archivos CSV de gran tamaño podía provocar que las tablas no se copiaran correctamente. Este problema se solucionó en las versiones de Amazon EMR posteriores. Utilice la AMI 3.9 de Amazon EMR o la versión 4.0.0 o superior de Amazon EMR.

## AWS Data Pipeline Límites crecientes
<a name="dp-increase-limits"></a>

Ocasionalmente, es posible que supere los límites específicos AWS Data Pipeline del sistema. Por ejemplo, el límite de canalización predeterminado es de 20 canalizaciones con 50 objetos en cada una de ellas. Si descubre que necesita más canalizaciones de las que marca el límite, considere la posibilidad de combinar varias canalizaciones para crear menos con más objetos en cada una de ellas. Para obtener más información sobre los límites de AWS Data Pipeline , consulte [AWS Data Pipeline Límites](dp-limits.md). Sin embargo, si no puede solucionar el problema de los límites utilizando la técnica de la combinación de canalizaciones, aumente su capacidad utilizando el siguiente formulario: [Data Pipeline Limit Increase](https://console.aws.amazon.com/support/home#/case/create?issueType=service-limit-increase&limitType=service-code-datapipe).