

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.

# Recursos
<a name="dp-object-resources"></a>

Los siguientes son los objetos de AWS Data Pipeline recursos:

**Topics**
+ [Ec2Resource](dp-object-ec2resource.md)
+ [EmrCluster](dp-object-emrcluster.md)
+ [HttpProxy](dp-object-httpproxy.md)

# Ec2Resource
<a name="dp-object-ec2resource"></a>

Una instancia Amazon EC2 que realiza el trabajo definido por una actividad de canalización.

AWS Data Pipeline ahora es compatible con IMDSv2 para la instancia Amazon EC2, que utiliza un método orientado a la sesión para gestionar mejor la autenticación al recuperar la información de metadatos de las instancias. Una sesión inicia y finaliza una serie de solicitudes que el software que se ejecuta en una instancia de Amazon EC2 utiliza para acceder a los metadatos y las credenciales de la instancia de Amazon EC2 almacenados localmente. El software inicia una sesión con una simple solicitud HTTP PUT a IMDSv2. IMDSv2 devuelve un token secreto al software que se ejecuta en la instancia Amazon EC2, que utilizará el token como contraseña IMDSv2 para realizar solicitudes de metadatos y credenciales.

**nota**  
Para utilizar IMDSv2 en su instancia de Amazon EC2, tendrá que modificar la configuración, ya que la AMI predeterminada no es compatible con ella. IMDSv2 Puede especificar una nueva versión de AMI que puede recuperar mediante el siguiente parámetro SSM: `/aws/service/ami-amazon-linux-latest/amzn-ami-hvm-x86_64-ebs`.

Para obtener información sobre las instancias Amazon EC2 predeterminadas que se AWS Data Pipeline crean si no se especifica una instancia, consulte. [Instancias Amazon EC2 predeterminadas por región de AWS](dp-ec2-default-instance-types.md)

## Ejemplos
<a name="ec2resource-example"></a>

**EC2-Classic**

**importante**  
Solo AWS las cuentas creadas antes del 4 de diciembre de 2013 son compatibles con la plataforma EC2-Classic. Si tiene una de estas cuentas, puede que tenga la opción de crear objetos EC2Resource para una canalización en una red clásica de EC2 en lugar de una VPC. Le recomendamos encarecidamente que cree recursos para todas sus canalizaciones en VPC. Además, si tiene recursos existentes en EC2-Classic, le recomendamos que los migre a una VPC.

El siguiente objeto de ejemplo lanza una instancia EC2 en EC2-Classic, con algunos campos opcionales configurados.

```
{
  "id" : "MyEC2Resource",
  "type" : "Ec2Resource",
  "actionOnTaskFailure" : "terminate",
  "actionOnResourceFailure" : "retryAll",
  "maximumRetries" : "1",
  "instanceType" : "m5.large",
  "securityGroups" : [
    "test-group",
    "default"
  ],
  "keyPair" : "my-key-pair"
}
```

**EC2-VPC**

En el siguiente objeto de ejemplo se ejecuta una instancia EC2 en una VPC no predeterminada, con algunos campos opcionales establecidos.

```
{
  "id" : "MyEC2Resource",
  "type" : "Ec2Resource",
  "actionOnTaskFailure" : "terminate",
  "actionOnResourceFailure" : "retryAll",
  "maximumRetries" : "1",
  "instanceType" : "m5.large",
  "securityGroupIds" : [
    "sg-12345678",
    "sg-12345678"
  ],
  "subnetId": "subnet-12345678",
  "associatePublicIpAddress": "true",
  "keyPair" : "my-key-pair"
}
```

## Sintaxis
<a name="ec2resource-syntax"></a>


****  

| Campos obligatorios | Description (Descripción) | Tipo de slot | 
| --- | --- | --- | 
| resourceRole | El rol de IAM que controla los recursos a los que puede acceder la instancia Amazon EC2. | Cadena | 
| rol | La función de IAM que se AWS Data Pipeline utiliza para crear la instancia EC2. | Cadena | 

 


****  

| Campos de invocación de objetos | Description (Descripción) | Tipo de slot | 
| --- | --- | --- | 
| horario |  Este objeto se invoca dentro de la ejecución de un intervalo de programación.  Para establecer el orden de ejecución de dependencia para este objeto, especifique una referencia de programación a otro objeto. Puedes hacerlo de una de las siguientes formas: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/datapipeline/latest/DeveloperGuide/dp-object-ec2resource.html)  | Objeto de referencia, por ejemplo, "schedule":\$1"ref":"myScheduleId"\$1 | 

 


****  

| Campos opcionales | Description (Descripción) | Tipo de slot | 
| --- | --- | --- | 
| actionOnResourceFallo | La acción realizada después de un error de este recurso. Los valores válidos son "retryall" y "retrynone". | Cadena | 
| actionOnTaskFallo | La acción realizada después de un error de tarea de este recurso. Los valores válidos son "continue" o "terminate". | Cadena | 
| associatePublicIpDirección | Indica si se va a asignar una dirección IP pública a la instancia. Si la instancia está en Amazon EC2 o Amazon VPC, el valor predeterminado es true. De lo contrario, el valor predeterminado es false. | Booleano | 
| attemptStatus | Estado más reciente notificado por la actividad remota. | Cadena | 
| attemptTimeout | Tiempo de espera para que se complete el trabajo remoto. Si se establece, se puede reintentar una actividad remota que no se complete dentro del tiempo de inicio especificado. | Periodo | 
| availabilityZone | La zona de disponibilidad en la que se va a lanzar la instancia Amazon EC2. | Cadena | 
| deshabilitar IMDSv1 | El valor predeterminado es false y habilita tanto IMDSv1 y IMDSv2. Si lo establece en verdadero, se deshabilita IMDSv1 y solo proporciona IMDSv2s | Booleano | 
| failureAndRerunModo | failureAndRerunMode. | Enumeración | 
| httpProxy | El host proxy que utilizan los clientes para conectarse a AWS los servicios. | Objeto de referencia, por ejemplo, "httpProxy":\$1"ref":"myHttpProxyId"\$1 | 
| imageId | El ID de la AMI que se va a utilizar para la instancia. De forma predeterminada, AWS Data Pipeline utiliza el tipo de virtualización AMI de HVM. El AMI específico IDs utilizado se basa en una región. Puede sobrescribir la AMI predeterminada especificando la AMI HVM que desee. Para obtener más información acerca de los tipos de AMI, consulte [Tipos de virtualización de una AMI de Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/virtualization_types.html) y [Cómo buscar una AMI de Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/finding-an-ami.html) en la *Guía del usuario de Amazon EC2*.  | Cadena | 
| initTimeout | El tiempo que se debe esperar a que se inicie el recurso.  | Periodo | 
| instanceCount | Obsoleto. | Entero | 
| instanceType | El tipo de instancia de Amazon EC2 que se va a utilizar. | Cadena | 
| keyPair | El nombre del par de claves. Si lanza una instancia Amazon EC2 sin especificar un par de claves, no podrá conectarse a ella. | Cadena | 
| lateAfterTimeout | El tiempo transcurrido desde el inicio de la canalización dentro del cual el objeto debe completarse. Solo se activa cuando el tipo de programación no está establecido en ondemand.  | Periodo | 
| maxActiveInstances | El número máximo de instancias activas simultáneas de un componente. Las nuevas ejecuciones no cuentan para el número de instancias activas. | Entero | 
| maximumRetries | El número máximo de intentos en caso de error. | Entero | 
| minInstanceCount | Obsoleto. | Entero | 
| onFail | Acción que se debe ejecutar cuando el objeto actual produzca un error. | Objeto de referencia, por ejemplo,  "onFail":\$1"ref":"myActionId"\$1 | 
| onLateAction | Acciones que deben iniciarse si un objeto no se ha programado o sigue ejecutándose. | Objeto de referencia, por ejemplo, "onLateAction":\$1"ref":"myActionId"\$1 | 
| onSuccess | Acción que se debe ejecutar cuando el objeto actual se complete correctamente. | Objeto de referencia, por ejemplo, "onSuccess":\$1"ref":"myActionId"\$1 | 
| parent | El elemento principal del objeto actual del que se heredan las ranuras. | Objeto de referencia, por ejemplo, "parent":\$1"ref":"myBaseObjectId"\$1 | 
| pipelineLogUri | El URI de Amazon S3 (como 's3://BucketName/Key/') para cargar registros para la canalización. | Cadena | 
| region |  El código de la región en la que debe ejecutarse la instancia Amazon EC2. De forma predeterminada, la instancia se ejecuta en la misma región que la canalización. Puede ejecutar la instancia en la misma región que un conjunto de datos dependiente. | Enumeración | 
| reportProgressTimeout | El tiempo de espera para llamadas sucesivas del trabajo remoto a reportProgress. Si se establece, las actividades remotas que no informen de su progreso durante el período especificado pueden considerarse estancadas y se reintentarán. | Periodo | 
| retryDelay | Duración del tiempo de espera entre dos reintentos. | Periodo | 
| runAsUser | El usuario que ejecutará el TaskRunner. | Cadena | 
| runsOn | Este campo no está permitido en este objeto. | Objeto de referencia, por ejemplo, "runsOn":\$1"ref":"myResourceId"\$1 | 
| scheduleType |  El tipo de programación le permite especificar si los objetos de la definición de la canalización deben programarse al principio o al final del intervalo, o bajo demanda. Valores son los siguientes: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/datapipeline/latest/DeveloperGuide/dp-object-ec2resource.html)  | Enumeración | 
| securityGroupIds | Los ID de uno o varios grupos de seguridad de Amazon EC2 que se van a utilizar para las instancias del grupo de recursos. | Cadena | 
| securityGroups | Uno o varios grupos de seguridad de Amazon EC2 que se van a utilizar para las instancias del grupo de recursos. | Cadena | 
| spotBidPrice | La cantidad máxima por hora para su instancia de spot en dólares, que es un valor decimal entre 0 y 20,00 (no incluidos). | Cadena | 
| subnetId | El ID de la subred de Amazon EC2 en la que iniciar la instancia. | Cadena | 
| terminateAfter | El número de horas después de las cuales se ha de finalizar el recurso. | Periodo | 
| useOnDemandOnLastAttempt | En el último intento de solicitar una instancia de spot, realice una solicitud de instancias bajo demanda en lugar de instancias de spot. De este modo, se garantiza que si todos los intentos anteriores han fallado, el último intento no se verá interrumpido. | Booleano | 
| workerGroup | Este campo no está permitido en este objeto. | Cadena | 

 


****  

| Campos de tiempo de ejecución | Description (Descripción) | Tipo de slot | 
| --- | --- | --- | 
| @activeInstances | Lista de los objetos de instancias activas programados actualmente. | Objeto de referencia, por ejemplo, "activeInstances":\$1"ref":"myRunnableObjectId"\$1 | 
| @actualEndTime | La hora a la que finalizó la ejecución de este objeto. | DateTime | 
| @actualStartTime | La hora a la que comenzó la ejecución de este objeto. | DateTime | 
| cancellationReason | El cancellationReason de este objeto se ha cancelado. | Cadena | 
| @cascadeFailedOn | Descripción de la cadena de dependencias en la que ha fallado el objeto. | Objeto de referencia, por ejemplo, "cascadeFailedOn":\$1"ref":"myRunnableObjectId"\$1 | 
| emrStepLog | Los registros de pasos solo están disponibles en los intentos de actividad de Amazon EMR. | Cadena | 
| errorId | El ID de error si este objeto ha fallado. | Cadena | 
| errorMessage | El mensaje de error si este objeto ha fallado. | Cadena | 
| errorStackTrace | El seguimiento de la pila de error si este objeto ha fallado. | Cadena | 
| @failureReason | El motivo del error del recurso. | Cadena | 
| @finishedTime | La hora a la que este objeto finalizó su ejecución. | DateTime | 
| hadoopJobLog | Los registros de trabajo de Hadoop disponibles sobre intentos de actividades de Amazon EMR. | Cadena | 
| @healthStatus | El estado de salud del objeto que refleja el éxito o el fracaso de la última instancia de objeto que alcanzó un estado terminado. | Cadena | 
| @healthStatusFromInstanceId | ID del último objeto de instancia que alcanzó un estado terminado. | Cadena | 
| @ healthStatusUpdated Hora | Hora a la que el estado de salud se actualizó la última vez. | DateTime | 
| hostname | El nombre de host del cliente que recogió el intento de tarea. | Cadena | 
| @lastDeactivatedTime | La hora a la que este objeto se desactivó la última vez. | DateTime | 
| @ latestCompletedRun Hora | Hora de la última ejecución para la que se completó la ejecución. | DateTime | 
| @latestRunTime | Hora de la última ejecución para la que se programó la ejecución. | DateTime | 
| @nextRunTime | Hora de ejecución que se va a programar a continuación. | DateTime | 
| reportProgressTime | La hora más reciente a la que la actividad remota notificó algún progreso. | DateTime | 
| @scheduledEndTime | La hora de finalización programada para el objeto. | DateTime | 
| @scheduledStartTime | La hora de comienzo programada para el objeto. | DateTime | 
| @status | El estado de este objeto. | Cadena | 
| @version | La versión de la canalización con la que se creó el objeto. | Cadena | 
| @waitingOn | Descripción de la lista de dependencias para la que este objeto está a la espera. | Objeto de referencia, por ejemplo, "waitingOn":\$1"ref":"myRunnableObjectId"\$1 | 

 


****  

| Campos del sistema | Description (Descripción) | Tipo de slot | 
| --- | --- | --- | 
| @error | Error al describir el objeto mal estructurado. | Cadena | 
| @pipelineId | ID de la canalización a la que pertenece este objeto. | Cadena | 
| @sphere | El lugar de un objeto en el ciclo de vida. Los objetos de componente dan lugar a objetos de instancia, que ejecutan objetos de intento. | Cadena | 

# EmrCluster
<a name="dp-object-emrcluster"></a>

Representa la configuración de un clúster de Amazon EMR. [EmrActivity](dp-object-emractivity.md) y [HadoopActivity](dp-object-hadoopactivity.md) usan este objeto para lanzar un clúster.

**Topics**
+ [Programadores](#emrcluster-schedulers)
+ [Versiones de lanzamiento de Amazon EMR](#dp-emrcluster-release-versions)
+ [Permisos de Amazon EMR](#w2aac52c17b9c11)
+ [Sintaxis](#emrcluster-syntax)
+ [Ejemplos](emrcluster-example.md)
+ [Véase también](#emrcluster-seealso)

## Programadores
<a name="emrcluster-schedulers"></a>

Los programadores ofrecen un modo de especificar la asignación de recursos y la priorización de trabajo en un clúster de Hadoop. Los administradores o usuarios pueden elegir un programador para diversas clases de usuarios y aplicaciones. Un programador podría usar colas para asignar recursos a usuarios y aplicaciones. Usted configura esas colas al crear el clúster. A continuación, puede configurar la prioridad de determinados tipos de trabajo y usuario sobre otros. Esto proporciona un uso eficaz de los recursos del clúster, a la vez que se permite a más de un usuario enviar trabajo al clúster. Existen tres tipos de programador disponibles:
+ [FairScheduler](https://hadoop.apache.org/docs/stable/hadoop-yarn/hadoop-yarn-site/FairScheduler.html)— Intenta programar los recursos de manera uniforme durante un período de tiempo significativo.
+ [CapacityScheduler](https://hadoop.apache.org/docs/stable/hadoop-yarn/hadoop-yarn-site/CapacityScheduler.html)— Utiliza colas para permitir a los administradores de clústeres asignar usuarios a colas de diferente prioridad y asignación de recursos. 
+ Predeterminado: usado por el clúster, de cuya configuración podría encargarse su sitio.

## Versiones de lanzamiento de Amazon EMR
<a name="dp-emrcluster-release-versions"></a>

Una versión de Amazon EMR es un conjunto de aplicaciones de código abierto del ecosistema de macrodatos. Cada versión incluye diferentes aplicaciones, componentes y características de macrodatos que selecciona para que Amazon EMR los instale y configure al crear un clúster. La versión se especifica mediante la etiqueta de versión. Las etiquetas de versión tienen el formato `emr-x.x.x` Por ejemplo, `emr-5.30.0`. Clústeres de Amazon EMR basados en la etiqueta de versión`emr-4.0.0` y posteriormente utilizan la propiedad `releaseLabel` para especificar la etiqueta de lanzamiento de un objeto `EmrCluster`. Las versiones anteriores utilizan la propiedad `amiVersion`.

**importante**  
Todos los clústeres de All Amazon EMR creados con la versión 5.22.0 o posterior usan la [firma de Signature Version 4](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html) para autenticar las solicitudes en Amazon S3. Algunas versiones anteriores usan Signature Version 2. Se está interrumpiendo la compatibilidad con Signature Version 2. Para obtener más información, consulte [Amazon S3 Update — Sigv2 Deprecation Period Extended and Modified (Actualización de Amazon S3: período de desaprobación de Sigv2 extendido y modificado)](https://aws.amazon.com/blogs/aws/amazon-s3-update-sigv2-deprecation-period-extended-modified/). Recomendamos encarecidamente que utilice una versión de Amazon EMR compatible con Signature Version 4. Para versiones anteriores, comenzando con EMR 4.7.x, la versión más reciente de la serie se ha actualizado para admitir Signature Version 4. Cuando utilice una versión anterior de EMR, le recomendamos que utilice la versión más reciente de la serie. Además, evite las versiones anteriores a EMR 4.7.0.

### Condiciones y limitaciones
<a name="dp-emrcluster-considerations"></a>

#### Utilice la última versión de Task Runner
<a name="dp-task-runner-latest"></a>

Si usa un objeto `EmrCluster` autoadministrado con una etiqueta de versión, utilice la Task Runner más actual. Para obtener más información acerca de Task Runner, consulte [Operación de Task Runner](dp-using-task-runner.md). Puede configurar valores de propiedad para todas las clasificaciones de configuración de Amazon EMR. Para obtener más información, consulte [Configuring Applications](https://docs.aws.amazon.com/ElasticMapReduce/latest/ReleaseGuide/emr-configure-apps.html) en la *Guía de lanzamiento de Amazon EMR*, las [EmrConfiguration](dp-object-emrconfiguration.md) y las referencias de objeto [Propiedad](dp-object-property.md). 

#### Support para IMDSv2
<a name="dp-emr-imdsv2-support"></a>

Anteriormente, solo AWS Data Pipeline compatible IMDSv1. Ahora, AWS Data Pipeline es compatible con IMDSv2 Amazon EMR 5.23.1, 5.27.1 y 5.32 o versiones posteriores, y Amazon EMR 6.2 o versiones posteriores. IMDSv2 utiliza un método orientado a la sesión para gestionar mejor la autenticación al recuperar la información de metadatos de las instancias. Debes configurar tus instancias para realizar IMDSv2 llamadas mediante la creación de recursos administrados por los usuarios mediante -2.0. TaskRunner

#### Amazon EMR 5.32 o posterior y Amazon EMR 6.x
<a name="dp-emr-6-classpath"></a>

La serie de versiones 5.32 o posteriores y 6.x de Amazon EMR utiliza la versión 3.x de Hadoop, que introdujo cambios importantes en la forma en que se evalúa la ruta de clases de Hadoop en comparación con la versión 2.x de Hadoop. Las bibliotecas más comunes, como Joda-Time, se eliminaron de la ruta de clases.

Si [EmrActivity](dp-object-emractivity.md) o [HadoopActivity](dp-object-hadoopactivity.md) ejecuta un archivo Jar que depende de una biblioteca que se eliminó en Hadoop 3.x, el paso no se realizará correctamente y mostrará el error `java.lang.NoClassDefFoundError` o `java.lang.ClassNotFoundException`. Esto puede ocurrir con los archivos Jar que se ejecutaron sin problemas con las versiones de lanzamiento 5.x de Amazon EMR.

Para solucionar el problema, debe copiar las dependencias del archivo Jar a la ruta de clases de Hadoop de un objeto `EmrCluster` antes de iniciar la actividad `EmrActivity` o `HadoopActivity`. Proporcionamos un script bash para hacerlo. El script bash está disponible en la siguiente ubicación, donde *MyRegion* se encuentra la AWS región en la que se ejecuta el `EmrCluster` objeto, por ejemplo. `us-west-2`

```
s3://datapipeline-MyRegion/MyRegion/bootstrap-actions/latest/TaskRunner/copy-jars-to-hadoop-classpath.sh
```

La forma de ejecutar el script depende de si `EmrActivity` `HadoopActivity` se ejecuta en un recurso administrado por AWS Data Pipeline o se ejecuta en un recurso autogestionado.

Si utiliza un recurso administrado por AWS Data Pipeline, añada un `bootstrapAction` al `EmrCluster` objeto. `bootstrapAction` especifica el script y los archivos Jar que se van a copiar como argumentos. Puede añadir hasta 255 campos `bootstrapAction` por objeto `EmrCluster` y puede añadir un campo `bootstrapAction` a un objeto `EmrCluster` que ya tenga acciones de arranque.

Para especificar este script como una acción de arranque, utilice la siguiente sintaxis, donde `JarFileRegion` es la región en la que se guarda el archivo Jar y cada una *MyJarFile*n** es la ruta absoluta en Amazon S3 de un archivo Jar que se va a copiar en la ruta de clases de Hadoop. No especifique los archivos Jar que estén en la ruta de clases de Hadoop de forma predeterminada.

```
s3://datapipeline-MyRegion/MyRegion/bootstrap-actions/latest/TaskRunner/copy-jars-to-hadoop-classpath.sh,JarFileRegion,MyJarFile1,MyJarFile2[, ...]
```

El siguiente ejemplo especifica una acción de arranque que copia dos archivos Jar en Amazon S3: `my-jar-file.jar` y `emr-dynamodb-tool-4.14.0-jar-with-dependencies.jar`. La región utilizada en el ejemplo es us-west-2.

```
{
  "id" : "MyEmrCluster",
  "type" : "EmrCluster",
  "keyPair" : "my-key-pair",
  "masterInstanceType" : "m5.xlarge",
  "coreInstanceType" : "m5.xlarge",
  "coreInstanceCount" : "2",
  "taskInstanceType" : "m5.xlarge",
  "taskInstanceCount": "2",
  "bootstrapAction" : ["s3://datapipeline-us-west-2/us-west-2/bootstrap-actions/latest/TaskRunner/copy-jars-to-hadoop-classpath.sh,us-west-2,s3://path/to/my-jar-file.jar,s3://dynamodb-dpl-us-west-2/emr-ddb-storage-handler/4.14.0/emr-dynamodb-tools-4.14.0-jar-with-dependencies.jar"]
}
```

Debe guardar y activar la canalización para que se aplique el cambio a la nueva `bootstrapAction`.

Si utiliza un recurso autogestionado, puede descargar el script en la instancia del clúster y ejecutarlo desde la línea de comandos mediante SSH. El script crea un directorio llamado “`/etc/hadoop/conf/shellprofile.d`” y un archivo llamado “`datapipeline-jars.sh`” en dicho directorio. Los archivos jar proporcionados como argumentos de la línea de comandos se copian en un directorio que el script crea llamado “`/home/hadoop/datapipeline_jars`”. Si el clúster está configurado de forma diferente, modifique el script adecuadamente después de descargarlo.

La sintaxis para ejecutar el script en la línea de comandos es ligeramente diferente a la que se muestra la `bootstrapAction` en el ejemplo anterior. Utilice espacios en lugar de comas entre argumentos, como se muestra en el siguiente ejemplo.

```
./copy-jars-to-hadoop-classpath.sh us-west-2 s3://path/to/my-jar-file.jar s3://dynamodb-dpl-us-west-2/emr-ddb-storage-handler/4.14.0/emr-dynamodb-tools-4.14.0-jar-with-dependencies.jar
```

## Permisos de Amazon EMR
<a name="w2aac52c17b9c11"></a>

Al crear un rol de IAM personalizado, piense detenidamente en los permisos mínimos necesarios para que su clúster realice su trabajo. Asegúrese de conceder acceso a los recursos necesarios, como archivos de Amazon S3 o datos de Amazon RDS, Amazon Redshift o DynamoDB. Si desea establecer `visibleToAllUsers` en False, su rol debe tener los permisos adecuados para hacerlo. Tenga en cuenta que `DataPipelineDefaultRole` no tiene estos permisos. Debe proporcionar una unión de los roles `DefaultDataPipelineResourceRole` y `DataPipelineDefaultRole` como el rol de objeto `EmrCluster` o crear su propio rol con este fin.

## Sintaxis
<a name="emrcluster-syntax"></a>


****  

| Campos de invocación de objetos | Description (Descripción) | Tipo de slot | 
| --- | --- | --- | 
| horario | Este objeto se invoca dentro de la ejecución de un intervalo de programación. Especifique una referencia de programación a otro objeto para establecer el orden de ejecución de dependencia para este objeto. Puede cumplir este requisito estableciendo de forma explícita un programa en el objeto, por ejemplo, especificando "schedule": \$1"ref": "DefaultSchedule"\$1. En la mayoría de los casos, es mejor poner la referencia de programación en el objeto de la canalización predeterminado de modo que todos los objetos hereden ese programa. O bien, si la canalización tiene un árbol de programas (programas dentro del programa maestro), puede crear un objeto principal que tenga una referencia de programación. Para obtener más información acerca de las configuraciones de programación opcionales de ejemplo, consulte [https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html) | Objeto de referencia, por ejemplo, "schedule":\$1"ref":"myScheduleId"\$1 | 

 


****  

| Campos opcionales | Description (Descripción) | Tipo de slot | 
| --- | --- | --- | 
| actionOnResourceError | La acción realizada después de un error de este recurso. Los valores válidos son "retryall", que reintenta todas las tareas en el clúster durante el tiempo especificado y "retrynone". | Cadena | 
| actionOnTaskFallo | La acción realizada después de un error de tarea de este recurso. Los valores válidos son "continue", que significa que no debe terminarse el clúster, y "terminate". | Cadena | 
| additionalMasterSecurityGroupIds | El identificador de los grupos de seguridad maestros adicionales del clúster de EMR, que sigue el formulario sg-01. XXXX6a Para obtener más información, consulte [Grupos de seguridad adicionales de Amazon EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-additional-sec-groups.html) en la Guía de administración de Amazon EMR. | Cadena | 
| additionalSlaveSecurityGroupIds | El identificador de los grupos de seguridad secundarios adicionales del clúster de EMR, que sigue el formato sg-01XXXX6a. | Cadena | 
| amiVersion | La versión de Imagen de máquina de Amazon (AMI) que Amazon EMR utiliza para instalar los nodos del clúster. Para obtener más información, consulte la [Guía de administración de Amazon EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/). | Cadena | 
| aplicaciones | Aplicaciones para instalar en el clúster con argumentos separados por comas. De forma predeterminada, están instalados Hive y Pig. Este parámetro se aplica solamente a la versión 4.0 y posteriores de Amazon EMR. | Cadena | 
| attemptStatus | El estado más reciente notificado por la actividad remota. | Cadena | 
| attemptTimeout | Tiempo de espera para que se complete el trabajo remoto. Si se establece, se puede reintentar una actividad remota que no se complete dentro del tiempo de inicio establecido. | Periodo | 
| availabilityZone | La zona de disponibilidad en la que ejecutar el clúster. | Cadena | 
| bootstrapAction | Una acción que se ejecuta cuando comienza el clúster. Puede especificar argumentos separados por comas. Para especificar varias acciones, hasta 255, añada varios campos bootstrapAction. El comportamiento predeterminado consiste en comenzar el clúster sin ninguna acción de arranque. | Cadena | 
| configuración | Configuración para el clúster de Amazon EMR. Este parámetro se aplica solamente a la versión 4.0 y posteriores de Amazon EMR. | Objeto de referencia, por ejemplo, "configuration":\$1"ref":"myEmrConfigurationId"\$1 | 
| coreInstanceBidPrecio | El precio de spot máximo que está dispuesto a pagar para instancias Amazon EC2. Si se especifica un precio de puja, Amazon EMR utiliza instancias de spot para el grupo de instancias. Se especifica en USD. | Cadena | 
| coreInstanceCount | El número de nodos principales que se van a utilizar para el clúster. | Entero | 
| coreInstanceType | El tipo de instancia Amazon EC2 que se va a utilizar para los nodos principales. Consulte [Instancias Amazon EC2 admitidas para clústeres de Amazon EMR](dp-emr-supported-instance-types.md). | Cadena | 
| coreGroupConfiguration | La configuración del grupo de instancias principales del clúster de Amazon EMR. Este parámetro se aplica solamente a la versión 4.0 y posteriores de Amazon EMR. | Objeto de referencia, por ejemplo, “configuration”: \$1“ref”: “myEmrConfigurationId”\$1 | 
| coreEbsConfiguration | La configuración de los volúmenes de Amazon EBS que se asociarán a cada uno de los nodos principales del grupo principal en el clúster de Amazon EMR. Para obtener más información, consulte [Tipos de instancias compatibles con la optimización de EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html) en la Guía del usuario de Amazon EC2. | Objeto de referencia, por ejemplo, “coreEbsConfiguration”: \$1“ref”: “myEbsConfiguration”\$1 | 
| customAmiId | Solo se aplica a las versiones 5.7.0 y posteriores de Amazon EMR. Especifica el ID de AMI de una AMI personalizada que se utilizará cuando Amazon EMR aprovisione instancias de Amazon EC2. También se puede usar en lugar de acciones de arranque para personalizar las configuraciones de los nodos del clúster. Para obtener más información, consulte el siguiente tema en la Guía de administración de Amazon EMR. [Uso de una AMI personalizada](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-custom-ami.html) | Cadena | 
| EbsBlockDeviceConfig |  La configuración de un dispositivo de bloques de Amazon EBS solicitado asociado al grupo de instancias. Incluye un determinado número de volúmenes que se asociará a cada instancia del grupo de instancias. Incluye `volumesPerInstance` y `volumeSpecification`, donde:  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/datapipeline/latest/DeveloperGuide/dp-object-emrcluster.html)  | Objeto de referencia, por ejemplo, “EbsBlockDeviceConfig”: \$1“ref”: “myEbsBlockDeviceConfig”\$1 | 
| emrManagedMasterSecurityGroupId | El identificador del grupo de seguridad principal del clúster de Amazon EMR, que sigue el formato de sg-01XXXX6a. Para obtener más información, consulte [Configurar grupos de seguridad](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-security-groups.html) en la Guía de administración de Amazon EMR. | Cadena | 
| emrManagedSlaveSecurityGroupId | El identificador del grupo de seguridad secundario del clúster de Amazon EMR, que sigue el formato de sg-01XXXX6a. | Cadena | 
| enableDebugging | Habilita la depuración en el clúster de Amazon EMR. | Cadena | 
| failureAndRerunModo | failureAndRerunMode. | Enumeración | 
| hadoopSchedulerType | El tipo de programador del clúster. Los tipos válidos son:  PARALLEL\$1FAIR\$1SCHEDULING, PARALLEL\$1CAPACITY\$1SCHEDULING y  DEFAULT\$1SCHEDULER. | Enumeración | 
| httpProxy | El host proxy que usan los clientes para conectarse a los servicios de AWS. | Objeto de referencia, por ejemplo, «HttpProxy»: \$1"ref»:» myHttpProxy Id "\$1 | 
| initTimeout | El tiempo que se debe esperar a que se inicie el recurso.  | Periodo | 
| keyPair | El par de claves de Amazon EC2 que se utilizará para iniciar sesión en el nodo maestro del clúster de Amazon EMR. | Cadena | 
| lateAfterTimeout | El tiempo transcurrido desde el inicio de la canalización dentro del cual el objeto debe completarse. Solo se activa cuando el tipo de programación no está establecido en ondemand.  | Periodo | 
| masterInstanceBidPrecio | El precio de spot máximo que está dispuesto a pagar para instancias Amazon EC2. Un valor decimal entre 0 y 20,00, exclusivo. Se especifica en USD. Al establecer este valor se habilitan las instancias de subasta para el nodo principal del clúster de Amazon EMR. Si se especifica un precio de puja, Amazon EMR utiliza instancias de spot para el grupo de instancias. | Cadena | 
| masterInstanceType | El tipo de instancia Amazon EC2 que se utilizará para el nodo maestro. Consulte [Instancias Amazon EC2 admitidas para clústeres de Amazon EMR](dp-emr-supported-instance-types.md). | Cadena | 
| masterGroupConfiguration | La configuración del grupo de instancias maestro del clúster de Amazon EMR. Este parámetro se aplica solamente a la versión 4.0 y posteriores de Amazon EMR. | Objeto de referencia, por ejemplo, “configuration”: \$1“ref”: “myEmrConfigurationId”\$1 | 
| masterEbsConfiguration | La configuración de volúmenes de Amazon EBS que se asociará a cada uno de los nodos principales del grupo maestro en el clúster de Amazon EMR. Para obtener más información, consulte [Tipos de instancias compatibles con la optimización de EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html) en la Guía del usuario de Amazon EC2. | Objeto de referencia, por ejemplo, “masterEbsConfiguration”: \$1“ref”: “myEbsConfiguration”\$1 | 
| maxActiveInstances | El número máximo de instancias activas simultáneas de un componente. Las nuevas ejecuciones no cuentan para el número de instancias activas. | Entero | 
| maximumRetries | maximumRetries. | Entero | 
| onFail | Acción que se debe ejecutar cuando el objeto actual produzca un error. | Objeto de referencia, por ejemplo, "onFail":\$1"ref":"myActionId"\$1 | 
| onLateAction | Acciones que deben iniciarse si un objeto todavía no se ha programado o no se ha completado. | Objeto de referencia, por ejemplo, "onLateAction":\$1"ref":"myActionId"\$1 | 
| onSuccess | Acción que se debe ejecutar cuando el objeto actual se complete correctamente. | Objeto de referencia, por ejemplo, "onSuccess":\$1"ref":"myActionId"\$1 | 
| parent | Elemento principal del objeto actual del que se heredan los slots. | Objeto de referencia, por ejemplo, "parent":\$1"ref":"myBaseObjectId"\$1 | 
| pipelineLogUri | El URI de Amazon S3 (como 's3://BucketName/Key/ ') para cargar los registros de la canalización. | Cadena | 
| region | El código de la región en la que debe ejecutarse el clúster de Amazon EMR. De forma predeterminada, el clúster se ejecuta en la misma región que la canalización. Puede ejecutar el clúster en la misma región que un conjunto de datos dependiente.  | Enumeración | 
| releaseLabel | Etiqueta de la versión del clúster de EMR. | Cadena | 
| reportProgressTimeout | Tiempo de espera para llamadas sucesivas del trabajo remoto a reportProgress. Si se establece, las actividades remotas que no informen de su progreso durante el período especificado pueden considerarse estancadas y, en consecuencia, reintentarse. | Periodo | 
| resourceRole | La función de IAM que se AWS Data Pipeline utiliza para crear el clúster de Amazon EMR. El rol predeterminado es DataPipelineDefaultRole.  | Cadena | 
| retryDelay | Duración del tiempo de espera entre dos reintentos. | Periodo | 
| rol | El rol de IAM que se transfiere a Amazon EMR para crear nodos de EC2. | Cadena | 
| runsOn | Este campo no está permitido en este objeto. | Objeto de referencia, por ejemplo, "runsOn":\$1"ref":"myResourceId"\$1 | 
| SecurityConfiguration | El identificador de la configuración de seguridad de EMR que se aplicará al clúster. Este parámetro se aplica solamente a la versión 4.8.0 y posteriores de Amazon EMR. | Cadena | 
| serviceAccessSecurityGroupId | El identificador del grupo de seguridad de acceso a los servicios del clúster de Amazon EMR.  | Cadena. Sigue el formato sg-01XXXX6a, por ejemplo, sg-1234abcd. | 
| scheduleType | El tipo de programa le permite especificar si los objetos de la definición de la canalización deben programarse al principio o al final del intervalo. Los valores son: cron, ondemand y timeseries. La programación timeseries significa que las instancias se programan al final de cada intervalo. La programación cron significa que las instancias se programan al principio de cada intervalo. Un programa ondemand le permite ejecutar una canalización una vez por activación. No tiene que clonar o recrear la canalización para ejecutarla de nuevo. Si usa un programa ondemand, debe especificarse en el objeto predeterminado y debe ser el único scheduleType especificado para los objetos de la canalización. Para usar canalizaciones ondemand, solo tiene que llamar a la operación ActivatePipeline para cada ejecución posterior. | Enumeración | 
| subnetId | El identificador de la subred en la que se lanza el clúster de Amazon EMR. | Cadena | 
| supportedProducts | Un parámetro que instala software de terceros en un clúster de Amazon EMR, por ejemplo, una distribución de terceros de Hadoop. | Cadena | 
| taskInstanceBidPrecio | El precio de spot máximo que está dispuesto a pagar para instancias EC2. Un valor decimal entre 0 y 20,00, exclusivo. Se especifica en USD. Si se especifica un precio de puja, Amazon EMR utiliza instancias de spot para el grupo de instancias. | Cadena | 
| taskInstanceCount | El número de nodos de tarea que se van a utilizar para el clúster de Amazon EMR. | Entero | 
| taskInstanceType | El tipo de instancia Amazon EC2 que se va a utilizar para los nodos de tarea. | Cadena | 
| taskGroupConfiguration | La configuración del grupo de instancias de tareas del clúster de Amazon EMR. Este parámetro se aplica solamente a la versión 4.0 y posteriores de Amazon EMR.  | Objeto de referencia, por ejemplo, “configuration”: \$1“ref”: “myEmrConfigurationId”\$1 | 
| taskEbsConfiguration | La configuración de los volúmenes de Amazon EBS que se asociarán a cada uno de los nodos de tarea del grupo de tareas en el clúster de Amazon EMR. Para obtener más información, consulte [Tipos de instancias compatibles con la optimización de EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html) en la Guía del usuario de Amazon EC2. | Objeto de referencia, por ejemplo, “taskEbsConfiguration”: \$1“ref”: “myEbsConfiguration”\$1 | 
| terminateAfter | Termina el recurso una vez transcurridas estas horas. | Entero | 
| VolumeSpecification |   Las especificaciones de volumen de Amazon EBS, por ejemplo, el tipo de volumen, las IOPS y el tamaño en gigabytes (GiB) que se solicitará para el volumen de Amazon EBS asociado a una instancia de Amazon EC2 en el clúster de Amazon EMR. El nodo puede ser un nodo principal, maestro o de tarea.  El `VolumeSpecification` incluye: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/datapipeline/latest/DeveloperGuide/dp-object-emrcluster.html)  | Objeto de referencia, por ejemplo, “VolumeSpecification”: \$1“ref”: “myVolumeSpecification”\$1 | 
| useOnDemandOnLastAttempt | En el último intento de solicitar un recurso, haga una solicitud de instancias bajo demanda en lugar de instancias de spot. De este modo, se garantiza que si todos los intentos anteriores han fallado, el último intento no se verá interrumpido.  | Booleano | 
| workerGroup | Campo no permitido en este objeto. | Cadena | 

 


****  

| Campos de tiempo de ejecución | Description (Descripción) | Tipo de slot | 
| --- | --- | --- | 
| @activeInstances | Lista de los objetos de instancias activas programados actualmente. | Objeto de referencia, por ejemplo, «ActiveInstances»: \$1"ref»:» Id "\$1 myRunnableObject | 
| @actualEndTime | La hora a la que finalizó la ejecución de este objeto. | DateTime | 
| @actualStartTime | La hora a la que comenzó la ejecución de este objeto. | DateTime | 
| cancellationReason | El valor de cancellationReason si este objeto se ha cancelado. | Cadena | 
| @cascadeFailedOn | Descripción de la cadena de dependencias en la que ha fallado el objeto. | Objeto de referencia, por ejemplo, cascadeFailedOn «: \$1" ref»:» myRunnableObject Id "\$1 | 
| emrStepLog | Los registros de pasos de Amazon EMR están disponibles únicamente sobre intentos de actividad de EMR. | Cadena | 
| errorId | El ID de error si este objeto ha fallado. | Cadena | 
| errorMessage | El mensaje de error si este objeto ha fallado. | Cadena | 
| errorStackTrace | El seguimiento de la pila de error si este objeto ha fallado. | Cadena | 
| @failureReason | El motivo del error del recurso. | Cadena | 
| @finishedTime | La hora a la que este objeto finalizó su ejecución. | DateTime | 
| hadoopJobLog | Los registros de trabajo de Hadoop disponibles sobre intentos de actividades de Amazon EMR. | Cadena | 
| @healthStatus | El estado de salud del objeto que refleja el éxito o el fracaso de la última instancia de objeto que alcanzó un estado terminado. | Cadena | 
| @healthStatusFromInstanceId | ID del último objeto de instancia que alcanzó un estado terminado. | Cadena | 
| @ healthStatusUpdated Hora | Hora a la que el estado de salud se actualizó la última vez. | DateTime | 
| hostname | El nombre de host del cliente que recogió el intento de tarea. | Cadena | 
| @lastDeactivatedTime | La hora a la que este objeto se desactivó la última vez. | DateTime | 
| @ latestCompletedRun Hora | Hora de la última ejecución para la que se completó la ejecución. | DateTime | 
| @latestRunTime | Hora de la última ejecución para la que se programó la ejecución. | DateTime | 
| @nextRunTime | Hora de ejecución que se va a programar a continuación. | DateTime | 
| reportProgressTime | La hora más reciente a la que la actividad remota notificó algún progreso. | DateTime | 
| @scheduledEndTime | Hora de finalización programada para el objeto. | DateTime | 
| @scheduledStartTime | Hora de comienzo programada para el objeto. | DateTime | 
| @status | El estado de este objeto. | Cadena | 
| @version | Versión de la canalización con la que se creó el objeto. | Cadena | 
| @waitingOn | Descripción de la lista de dependencias para la que este objeto está a la espera. | Objeto de referencia, por ejemplo, «WaitingOn»: \$1"ref»:» myRunnableObject Id "\$1 | 

 


****  

| Campos del sistema | Description (Descripción) | Tipo de slot | 
| --- | --- | --- | 
| @error | Error al describir el objeto mal estructurado. | Cadena | 
| @pipelineId | ID de la canalización a la que pertenece este objeto. | Cadena | 
| @sphere | El lugar de un objeto en el ciclo de vida. Los objetos de componente dan lugar a objetos de instancia, que ejecutan objetos de intento. | Cadena | 

# Ejemplos
<a name="emrcluster-example"></a>

A continuación se muestran ejemplos de este tipo de objeto.

**Topics**
+ [Lanzar un clúster de Amazon EMR con hadoopVersion](emrcluster-example-launch.md)
+ [Lanzar un clúster de Amazon EMR con la etiqueta de versión emr-4.x o posterior](emrcluster-example-release-label.md)
+ [Instalar software adicional en el clúster de Amazon EMR](emrcluster-example-install-software.md)
+ [deshabilitar el cifrado en el servidor en las versiones 3.x](emrcluster-example1-disable-encryption.md)
+ [deshabilitar el cifrado en el servidor en las versiones 4.x](emrcluster-example2-disable-encryption.md)
+ [Configure Hadoop KMS y cree zonas de cifrado en HDFS ACLs](emrcluster-example-hadoop-kms.md)
+ [especificar roles de IAM personalizados](emrcluster-example-custom-iam-roles.md)
+ [Utilice el EmrCluster recurso en AWS SDK for Java](emrcluster-example-java.md)
+ [Configurar un clúster de Amazon EMR en una subred privada](emrcluster-example-private-subnet.md)
+ [Asociar volúmenes de EBS a los nodos del clúster](emrcluster-example-ebs.md)

# Lanzar un clúster de Amazon EMR con hadoopVersion
<a name="emrcluster-example-launch"></a>

**Example**  <a name="example1"></a>
En el siguiente ejemplo se lanza un clúster de Amazon EMR mediante la versión de AMI 1.0 y Hadoop 0.20.  

```
{
  "id" : "MyEmrCluster",
  "type" : "EmrCluster",
  "hadoopVersion" : "0.20",
  "keyPair" : "my-key-pair",
  "masterInstanceType" : "m3.xlarge",
  "coreInstanceType" : "m3.xlarge",
  "coreInstanceCount" : "10",
  "taskInstanceType" : "m3.xlarge",
  "taskInstanceCount": "10",
  "bootstrapAction" : ["s3://Region.elasticmapreduce/bootstrap-actions/configure-hadoop,arg1,arg2,arg3","s3://Region.elasticmapreduce/bootstrap-actions/configure-hadoop/configure-other-stuff,arg1,arg2"]
}
```

# Lanzar un clúster de Amazon EMR con la etiqueta de versión emr-4.x o posterior
<a name="emrcluster-example-release-label"></a>

**Example**  
En el siguiente ejemplo se lanza un clúster de Amazon EMR mediante el campo `releaseLabel` más reciente:  

```
{
  "id" : "MyEmrCluster",
  "type" : "EmrCluster",
  "keyPair" : "my-key-pair",
  "masterInstanceType" : "m3.xlarge",
  "coreInstanceType" : "m3.xlarge",
  "coreInstanceCount" : "10",
  "taskInstanceType" : "m3.xlarge",
  "taskInstanceCount": "10",
  "releaseLabel": "emr-4.1.0",
  "applications": ["spark", "hive", "pig"],
  "configuration": {"ref":"myConfiguration"}  
}
```

# Instalar software adicional en el clúster de Amazon EMR
<a name="emrcluster-example-install-software"></a>

**Example**  <a name="example2"></a>
`EmrCluster` proporciona el campo `supportedProducts` que instala software de terceros en un clúster de Amazon EMR; por ejemplo, permite instalar una distribución personalizada de Hadoop, como MapR. Acepta una lista de argumentos separada por comas para que el software de terceros la lea y actúe. En el siguiente ejemplo se muestra cómo usar el campo `supportedProducts` de `EmrCluster` para crear un clúster de edición MapR M3 personalizada con Karmasphere Analytics instalado y ejecutar un objeto `EmrActivity` en él.  

```
{
    "id": "MyEmrActivity",
    "type": "EmrActivity",
    "schedule": {"ref": "ResourcePeriod"},
    "runsOn": {"ref": "MyEmrCluster"},
    "postStepCommand": "echo Ending job >> /mnt/var/log/stepCommand.txt",    
    "preStepCommand": "echo Starting job > /mnt/var/log/stepCommand.txt",
    "step": "/home/hadoop/contrib/streaming/hadoop-streaming.jar,-input,s3n://elasticmapreduce/samples/wordcount/input,-output, \
     hdfs:///output32113/,-mapper,s3n://elasticmapreduce/samples/wordcount/wordSplitter.py,-reducer,aggregate"
  },
  {    
    "id": "MyEmrCluster",
    "type": "EmrCluster",
    "schedule": {"ref": "ResourcePeriod"},
    "supportedProducts": ["mapr,--edition,m3,--version,1.2,--key1,value1","karmasphere-enterprise-utility"],
    "masterInstanceType": "m3.xlarge",
    "taskInstanceType": "m3.xlarge"
}
```

# deshabilitar el cifrado en el servidor en las versiones 3.x
<a name="emrcluster-example1-disable-encryption"></a>

**Example**  <a name="example3"></a>
Una `EmrCluster` actividad creada con una versión 2.x de Hadoop AWS Data Pipeline habilita el cifrado del lado del servidor de forma predeterminada. Si desea deshabilitar el cifrado en el servidor, debe especificar una acción de arranque en la definición de objeto de clúster.  
En el siguiente ejemplo se crea una actividad `EmrCluster` con el cifrado en el servidor deshabilitado:  

```
{  
   "id":"NoSSEEmrCluster",
   "type":"EmrCluster",
   "hadoopVersion":"2.x",
   "keyPair":"my-key-pair",
   "masterInstanceType":"m3.xlarge",
   "coreInstanceType":"m3.large",
   "coreInstanceCount":"10",
   "taskInstanceType":"m3.large",
   "taskInstanceCount":"10",
   "bootstrapAction":["s3://Region.elasticmapreduce/bootstrap-actions/configure-hadoop,-e, fs.s3.enableServerSideEncryption=false"]
}
```

# deshabilitar el cifrado en el servidor en las versiones 4.x
<a name="emrcluster-example2-disable-encryption"></a>

**Example**  <a name="example4"></a>
Debe deshabilitar el cifrado en el servidor mediante un objeto `EmrConfiguration`.  
En el siguiente ejemplo se crea una actividad `EmrCluster` con el cifrado en el servidor deshabilitado:  

```
   {
      "name": "ReleaseLabelCluster",
      "releaseLabel": "emr-4.1.0",
      "applications": ["spark", "hive", "pig"],
      "id": "myResourceId",
      "type": "EmrCluster",
      "configuration": {
        "ref": "disableSSE"
      }
    },
    {
      "name": "disableSSE",
      "id": "disableSSE",
      "type": "EmrConfiguration",
      "classification": "emrfs-site",
      "property": [{
        "ref": "enableServerSideEncryption"
      }
      ]
    },
    {
      "name": "enableServerSideEncryption",
      "id": "enableServerSideEncryption",
      "type": "Property",
      "key": "fs.s3.enableServerSideEncryption",
      "value": "false"
    }
```

# Configure Hadoop KMS y cree zonas de cifrado en HDFS ACLs
<a name="emrcluster-example-hadoop-kms"></a>

**Example**  <a name="example5"></a>
Los siguientes objetos se crean ACLs para Hadoop KMS y crean zonas de cifrado y las claves de cifrado correspondientes en HDFS:  

```
{
      "name": "kmsAcls",
      "id": "kmsAcls",
      "type": "EmrConfiguration",
      "classification": "hadoop-kms-acls",
      "property": [
        {"ref":"kmsBlacklist"},
        {"ref":"kmsAcl"}
      ]
    },
    {
      "name": "hdfsEncryptionZone",
      "id": "hdfsEncryptionZone",
      "type": "EmrConfiguration",
      "classification": "hdfs-encryption-zones",
      "property": [
        {"ref":"hdfsPath1"},
        {"ref":"hdfsPath2"}
      ]
    },
    {
      "name": "kmsBlacklist",
      "id": "kmsBlacklist",
      "type": "Property",
      "key": "hadoop.kms.blacklist.CREATE",
      "value": "foo,myBannedUser"
    },
    {
      "name": "kmsAcl",
      "id": "kmsAcl",
      "type": "Property",
      "key": "hadoop.kms.acl.ROLLOVER",
      "value": "myAllowedUser"
    },
    {
      "name": "hdfsPath1",
      "id": "hdfsPath1",
      "type": "Property",
      "key": "/myHDFSPath1",
      "value": "path1_key"
    },
    {
      "name": "hdfsPath2",
      "id": "hdfsPath2",
      "type": "Property",
      "key": "/myHDFSPath2",
      "value": "path2_key"
    }
```

# especificar roles de IAM personalizados
<a name="emrcluster-example-custom-iam-roles"></a>

**Example**  <a name="example6"></a>
De forma predeterminada, AWS Data Pipeline pasa a `DataPipelineDefaultRole` ser la función de servicio Amazon EMR y `DataPipelineDefaultResourceRole` el perfil de instancia de Amazon EC2 para crear recursos en su nombre. Sin embargo, puede crear un rol de servicio Amazon EMR personalizado y un perfil de instancia personalizado y usarlos en su lugar. AWS Data Pipeline debe tener permisos suficientes para crear clústeres mediante el rol personalizado y debe añadirlo AWS Data Pipeline como entidad de confianza.  
En el siguiente objeto de ejemplo se especifican los roles personalizados para el clúster de Amazon EMR:  

```
{  
   "id":"MyEmrCluster",
   "type":"EmrCluster",
   "hadoopVersion":"2.x",
   "keyPair":"my-key-pair",
   "masterInstanceType":"m3.xlarge",
   "coreInstanceType":"m3.large",
   "coreInstanceCount":"10",
   "taskInstanceType":"m3.large",
   "taskInstanceCount":"10",
   "role":"emrServiceRole",
   "resourceRole":"emrInstanceProfile"
}
```

# Utilice el EmrCluster recurso en AWS SDK for Java
<a name="emrcluster-example-java"></a>

**Example**  <a name="example7"></a>
En el siguiente ejemplo se muestra cómo usar `EmrCluster` y `EmrActivity` para crear un clúster de Amazon EMR 4.x a fin de ejecutar un paso de Spark mediante el SDK de Java:  

```
public class dataPipelineEmr4 {

  public static void main(String[] args) {
    
	AWSCredentials credentials = null;
	credentials = new ProfileCredentialsProvider("/path/to/AwsCredentials.properties","default").getCredentials();
	DataPipelineClient dp = new DataPipelineClient(credentials);
	CreatePipelineRequest createPipeline = new CreatePipelineRequest().withName("EMR4SDK").withUniqueId("unique");
	CreatePipelineResult createPipelineResult = dp.createPipeline(createPipeline);
	String pipelineId = createPipelineResult.getPipelineId();
    
	PipelineObject emrCluster = new PipelineObject()
	    .withName("EmrClusterObj")
	    .withId("EmrClusterObj")
	    .withFields(
			new Field().withKey("releaseLabel").withStringValue("emr-4.1.0"),
			new Field().withKey("coreInstanceCount").withStringValue("3"),
			new Field().withKey("applications").withStringValue("spark"),
			new Field().withKey("applications").withStringValue("Presto-Sandbox"),
			new Field().withKey("type").withStringValue("EmrCluster"),
			new Field().withKey("keyPair").withStringValue("myKeyName"),
			new Field().withKey("masterInstanceType").withStringValue("m3.xlarge"),
			new Field().withKey("coreInstanceType").withStringValue("m3.xlarge")        
			);
  
	PipelineObject emrActivity = new PipelineObject()
	    .withName("EmrActivityObj")
	    .withId("EmrActivityObj")
	    .withFields(
			new Field().withKey("step").withStringValue("command-runner.jar,spark-submit,--executor-memory,1g,--class,org.apache.spark.examples.SparkPi,/usr/lib/spark/lib/spark-examples.jar,10"),
			new Field().withKey("runsOn").withRefValue("EmrClusterObj"),
			new Field().withKey("type").withStringValue("EmrActivity")
			);
      
	PipelineObject schedule = new PipelineObject()
	    .withName("Every 15 Minutes")
	    .withId("DefaultSchedule")
	    .withFields(
			new Field().withKey("type").withStringValue("Schedule"),
			new Field().withKey("period").withStringValue("15 Minutes"),
			new Field().withKey("startAt").withStringValue("FIRST_ACTIVATION_DATE_TIME")
			);
      
	PipelineObject defaultObject = new PipelineObject()
	    .withName("Default")
	    .withId("Default")
	    .withFields(
			new Field().withKey("failureAndRerunMode").withStringValue("CASCADE"),
			new Field().withKey("schedule").withRefValue("DefaultSchedule"),
			new Field().withKey("resourceRole").withStringValue("DataPipelineDefaultResourceRole"),
			new Field().withKey("role").withStringValue("DataPipelineDefaultRole"),
			new Field().withKey("pipelineLogUri").withStringValue("s3://myLogUri"),
			new Field().withKey("scheduleType").withStringValue("cron")
			);     
      
	List<PipelineObject> pipelineObjects = new ArrayList<PipelineObject>();
    
	pipelineObjects.add(emrActivity);
	pipelineObjects.add(emrCluster);
	pipelineObjects.add(defaultObject);
	pipelineObjects.add(schedule);
    
	PutPipelineDefinitionRequest putPipelineDefintion = new PutPipelineDefinitionRequest()
	    .withPipelineId(pipelineId)
	    .withPipelineObjects(pipelineObjects);
    
	PutPipelineDefinitionResult putPipelineResult = dp.putPipelineDefinition(putPipelineDefintion);
	System.out.println(putPipelineResult);
    
	ActivatePipelineRequest activatePipelineReq = new ActivatePipelineRequest()
	    .withPipelineId(pipelineId);
	ActivatePipelineResult activatePipelineRes = dp.activatePipeline(activatePipelineReq);
	
      System.out.println(activatePipelineRes);
      System.out.println(pipelineId);
    
    }

}
```

# Configurar un clúster de Amazon EMR en una subred privada
<a name="emrcluster-example-private-subnet"></a>

**Example**  <a name="example8"></a>
Este ejemplo incluye una configuración que lanza el clúster en una subred privada en una VPC. Para obtener más información, consulte [Lanzar clústeres de Amazon EMR en una VPC](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-vpc-launching-job-flows.html) en la *Guía de administración de Amazon EMR*. Esta configuración es opcional. Puede utilizarla en cualquier canalización que use un objeto `EmrCluster`.  
Para lanzar un clúster de Amazon EMR en una subred privada, especifique `SubnetId`, `emrManagedMasterSecurityGroupId`, `emrManagedSlaveSecurityGroupId` y `serviceAccessSecurityGroupId` en su configuración `EmrCluster`.  

```
{
  "objects": [
    {
      "output": {
        "ref": "S3BackupLocation"
      },
      "input": {
        "ref": "DDBSourceTable"
      },
      "maximumRetries": "2",
      "name": "TableBackupActivity",
      "step": "s3://dynamodb-emr-#{myDDBRegion}/emr-ddb-storage-handler/2.1.0/emr-ddb-2.1.0.jar,org.apache.hadoop.dynamodb.tools.DynamoDbExport,#{output.directoryPath},#{input.tableName},#{input.readThroughputPercent}",
      "id": "TableBackupActivity",
      "runsOn": {
        "ref": "EmrClusterForBackup"
      },
      "type": "EmrActivity",
      "resizeClusterBeforeRunning": "false"
    },
    {
      "readThroughputPercent": "#{myDDBReadThroughputRatio}",
      "name": "DDBSourceTable",
      "id": "DDBSourceTable",
      "type": "DynamoDBDataNode",
      "tableName": "#{myDDBTableName}"
    },
    {
      "directoryPath": "#{myOutputS3Loc}/#{format(@scheduledStartTime, 'YYYY-MM-dd-HH-mm-ss')}",
      "name": "S3BackupLocation",
      "id": "S3BackupLocation",
      "type": "S3DataNode"
    },
    {
      "name": "EmrClusterForBackup",
      "coreInstanceCount": "1",
      "taskInstanceCount": "1",
      "taskInstanceType": "m4.xlarge",
      "coreInstanceType": "m4.xlarge",
      "releaseLabel": "emr-4.7.0",
      "masterInstanceType": "m4.xlarge",
      "id": "EmrClusterForBackup",
      "subnetId": "#{mySubnetId}",
      "emrManagedMasterSecurityGroupId": "#{myMasterSecurityGroup}",
      "emrManagedSlaveSecurityGroupId": "#{mySlaveSecurityGroup}",
      "serviceAccessSecurityGroupId": "#{myServiceAccessSecurityGroup}",
      "region": "#{myDDBRegion}",
      "type": "EmrCluster",
      "keyPair": "user-key-pair"
    },
    {
      "failureAndRerunMode": "CASCADE",
      "resourceRole": "DataPipelineDefaultResourceRole",
      "role": "DataPipelineDefaultRole",
      "pipelineLogUri": "#{myPipelineLogUri}",
      "scheduleType": "ONDEMAND",
      "name": "Default",
      "id": "Default"
    }
  ],
  "parameters": [
    {
      "description": "Output S3 folder",
      "id": "myOutputS3Loc",
      "type": "AWS::S3::ObjectKey"
    },
    {
      "description": "Source DynamoDB table name",
      "id": "myDDBTableName",
      "type": "String"
    },
    {
      "default": "0.25",
      "watermark": "Enter value between 0.1-1.0",
      "description": "DynamoDB read throughput ratio",
      "id": "myDDBReadThroughputRatio",
      "type": "Double"
    },
    {
      "default": "us-east-1",
      "watermark": "us-east-1",
      "description": "Region of the DynamoDB table",
      "id": "myDDBRegion",
      "type": "String"
    }
  ],
  "values": {
     "myDDBRegion": "us-east-1",
      "myDDBTableName": "ddb_table",
      "myDDBReadThroughputRatio": "0.25",
      "myOutputS3Loc": "s3://s3_path",
      "mySubnetId": "subnet_id",
      "myServiceAccessSecurityGroup":  "service access security group",
      "mySlaveSecurityGroup": "slave security group",
      "myMasterSecurityGroup": "master security group",
      "myPipelineLogUri": "s3://s3_path"
  }
}
```

# Asociar volúmenes de EBS a los nodos del clúster
<a name="emrcluster-example-ebs"></a>

**Example**  <a name="example8"></a>
Puede asociar volúmenes de EBS a cualquier tipo de nodo en el clúster de EMR dentro de la canalización. Para asociar volúmenes de EBS a los nodos, utilice `coreEbsConfiguration`, `masterEbsConfiguration` y `TaskEbsConfiguration` en su configuración `EmrCluster`.   
Este ejemplo del clúster Amazon EMR utiliza volúmenes de Amazon EBS para sus nodos de tarea, maestro y principal. Para más información, consulte [Volúmenes de Amazon EBS en Amazon EMR ](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-storage.html) en la *Guía de administración de Amazon EMR*.  
Estas configuraciones son opcionales. Puede utilizarlas en cualquier canalización que use un objeto `EmrCluster`.  
En la canalización, haga clic en la configuración del objeto `EmrCluster`, seleccione **Master EBS Configuration**, (Configuración de EBS maestra) **Core EBS Configuration**, (Configuración de EBS principal) **Task EBS Configuration** (Configuración de EBS de tareas) y especifique los detalles de configuración de modo similar a como se muestra en el siguiente ejemplo.  

```
{
  "objects": [
    {
      "output": {
        "ref": "S3BackupLocation"
      },
      "input": {
        "ref": "DDBSourceTable"
      },
      "maximumRetries": "2",
      "name": "TableBackupActivity",
      "step": "s3://dynamodb-emr-#{myDDBRegion}/emr-ddb-storage-handler/2.1.0/emr-ddb-2.1.0.jar,org.apache.hadoop.dynamodb.tools.DynamoDbExport,#{output.directoryPath},#{input.tableName},#{input.readThroughputPercent}",
      "id": "TableBackupActivity",
      "runsOn": {
        "ref": "EmrClusterForBackup"
      },
      "type": "EmrActivity",
      "resizeClusterBeforeRunning": "false"
    },
    {
      "readThroughputPercent": "#{myDDBReadThroughputRatio}",
      "name": "DDBSourceTable",
      "id": "DDBSourceTable",
      "type": "DynamoDBDataNode",
      "tableName": "#{myDDBTableName}"
    },
    {
      "directoryPath": "#{myOutputS3Loc}/#{format(@scheduledStartTime, 'YYYY-MM-dd-HH-mm-ss')}",
      "name": "S3BackupLocation",
      "id": "S3BackupLocation",
      "type": "S3DataNode"
    },
    {
      "name": "EmrClusterForBackup",
      "coreInstanceCount": "1",
      "taskInstanceCount": "1",
      "taskInstanceType": "m4.xlarge",
      "coreInstanceType": "m4.xlarge",
      "releaseLabel": "emr-4.7.0",
      "masterInstanceType": "m4.xlarge",
      "id": "EmrClusterForBackup",
      "subnetId": "#{mySubnetId}",
      "emrManagedMasterSecurityGroupId": "#{myMasterSecurityGroup}",
      "emrManagedSlaveSecurityGroupId": "#{mySlaveSecurityGroup}",
      "region": "#{myDDBRegion}",
      "type": "EmrCluster",
      "coreEbsConfiguration": {
        "ref": "EBSConfiguration"
      },
      "masterEbsConfiguration": {
        "ref": "EBSConfiguration"
      },
      "taskEbsConfiguration": {
        "ref": "EBSConfiguration"
      },
      "keyPair": "user-key-pair"
    },
    {
       "name": "EBSConfiguration",
        "id": "EBSConfiguration",
        "ebsOptimized": "true",
        "ebsBlockDeviceConfig" : [
            { "ref": "EbsBlockDeviceConfig" }
        ],
        "type": "EbsConfiguration"
    },
    {
        "name": "EbsBlockDeviceConfig",
        "id": "EbsBlockDeviceConfig",
        "type": "EbsBlockDeviceConfig",
        "volumesPerInstance" : "2",
        "volumeSpecification" : {
            "ref": "VolumeSpecification"
        }
    },
    {
      "name": "VolumeSpecification",
      "id": "VolumeSpecification",
      "type": "VolumeSpecification",
      "sizeInGB": "500",
      "volumeType": "io1",
      "iops": "1000"
    },
    {
      "failureAndRerunMode": "CASCADE",
      "resourceRole": "DataPipelineDefaultResourceRole",
      "role": "DataPipelineDefaultRole",
      "pipelineLogUri": "#{myPipelineLogUri}",
      "scheduleType": "ONDEMAND",
      "name": "Default",
      "id": "Default"
    }
  ],
  "parameters": [
    {
      "description": "Output S3 folder",
      "id": "myOutputS3Loc",
      "type": "AWS::S3::ObjectKey"
    },
    {
      "description": "Source DynamoDB table name",
      "id": "myDDBTableName",
      "type": "String"
    },
    {
      "default": "0.25",
      "watermark": "Enter value between 0.1-1.0",
      "description": "DynamoDB read throughput ratio",
      "id": "myDDBReadThroughputRatio",
      "type": "Double"
    },
    {
      "default": "us-east-1",
      "watermark": "us-east-1",
      "description": "Region of the DynamoDB table",
      "id": "myDDBRegion",
      "type": "String"
    }
  ],
  "values": {
     "myDDBRegion": "us-east-1",
      "myDDBTableName": "ddb_table",
      "myDDBReadThroughputRatio": "0.25",
      "myOutputS3Loc": "s3://s3_path",
      "mySubnetId": "subnet_id",
      "mySlaveSecurityGroup": "slave security group",
      "myMasterSecurityGroup": "master security group",
      "myPipelineLogUri": "s3://s3_path"
  }
}
```

## Véase también
<a name="emrcluster-seealso"></a>
+ [EmrActivity](dp-object-emractivity.md)

# HttpProxy
<a name="dp-object-httpproxy"></a>

HttpProxy le permite configurar su propio proxy y hacer que Task Runner acceda al AWS Data Pipeline servicio a través de él. No es necesario configurar una Task Runner en ejecución con esta información.

## Ejemplo de HttpProxy entrada TaskRunner
<a name="example9"></a>

En la siguiente definición de canalización se muestra un objeto `HttpProxy`:

```
{
  "objects": [
    {
      "schedule": {
        "ref": "Once"
      },
      "pipelineLogUri": "s3://myDPLogUri/path",
      "name": "Default",
      "id": "Default"
    },
    {
      "name": "test_proxy",
      "hostname": "hostname",
      "port": "port",
      "username": "username",
      "*password": "password",
      "windowsDomain": "windowsDomain",
      "type": "HttpProxy",
      "id": "test_proxy",
    },
    {
      "name": "ShellCommand",
      "id": "ShellCommand",
      "runsOn": {
        "ref": "Resource"
      },
      "type": "ShellCommandActivity",
      "command": "echo 'hello world' "
    },
    {
      "period": "1 day",
      "startDateTime": "2013-03-09T00:00:00",
      "name": "Once",
      "id": "Once",
      "endDateTime": "2013-03-10T00:00:00",
      "type": "Schedule"
    },
    {
      "role": "dataPipelineRole",
      "httpProxy": {
        "ref": "test_proxy"
      },
      "actionOnResourceFailure": "retrynone",
      "maximumRetries": "0",
      "type": "Ec2Resource",
      "terminateAfter": "10 minutes",
      "resourceRole": "resourceRole",
      "name": "Resource",
      "actionOnTaskFailure": "terminate",
      "securityGroups": "securityGroups",
      "keyPair": "keyPair",
      "id": "Resource",
      "region": "us-east-1"
    }
  ],
  "parameters": []
}
```

## Sintaxis
<a name="httpproxy-slots"></a>


****  

| Campos obligatorios | Description (Descripción) | Tipo de slot | 
| --- | --- | --- | 
| hostname | El host proxy que usarán los clientes para conectarse a los servicios de AWS. | Cadena | 
| puerto | El puerto del host proxy que usarán los clientes para conectarse a los servicios de AWS. | Cadena | 

 


****  

| Campos opcionales | Description (Descripción) | Tipo de slot | 
| --- | --- | --- | 
| parent | Elemento principal del objeto actual del que se heredarán los slots. | Objeto de referencia, por ejemplo, «parent»: \$1"ref»:» myBaseObject Id "\$1 | 
| \$1password | Contraseña de proxy. | Cadena | 
| s3 NoProxy | Deshabilite el proxy HTTP cuando se conecte a Amazon S3 | Booleano | 
| nombre de usuario | Nombre de usuario de proxy. | Cadena | 
| windowsDomain | windowsDomain | Cadena | 
| windowsWorkgroup | El nombre de grupo de trabajo de Windows para el proxy NTLM. | Cadena | 

 


****  

| Campos de tiempo de ejecución | Description (Descripción) | Tipo de slot | 
| --- | --- | --- | 
| @version | Versión de la canalización con la que se creó el objeto. | Cadena | 

 


****  

| Campos del sistema | Description (Descripción) | Tipo de slot | 
| --- | --- | --- | 
| @error | Error al describir el objeto mal estructurado. | Cadena | 
| @pipelineId | ID de la canalización a la que pertenece este objeto. | Cadena | 
| @sphere | La esfera de un objeto denota su lugar en el ciclo de vida: los objetos de componente dan lugar a objetos de instancia que ejecutan objetos de intento. | Cadena | 