

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.

# Uso de Oozie con una base de datos remota en Amazon RDS
<a name="oozie-rds"></a>

De forma predeterminada, la información de usuario de Oozie y las historias de consulta se almacenan en una base de datos MySQL local en el nodo principal. También puede crear uno o varios clústeres habilitados para Oozie con una configuración almacenada en Amazon S3 y una base de datos MySQL en Amazon Relational Database Service (Amazon RDS). Esto le permite conservar información de usuario y el historial de consultas creado por Oozie sin mantener el clúster de Amazon EMR en ejecución. Le recomendamos utilizar el cifrado del servidor de Amazon S3 para almacenar el archivo de configuración.

En primer lugar, cree la base de datos remota para Oozie.

**Para crear una base de datos MySQL externa**

1. Abra la consola de Amazon RDS en [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Seleccione **Launch a DB Instance (Lanzar una instancia de base de datos)**.

1. Elija MySQL y, a continuación, elija **Select (Seleccionar)**.

1. Deje la selección predeterminada de **Multi-AZ Deployment and Provisioned IOPS Storage (Implementación Multi-AZ y almacenamiento de IOPS provisionadas)** y elija **Next (Siguiente)**.

1. Deje los valores predeterminados de Instance Specifications (Especificaciones de la instancia), especifique Settings (Configuración) y elija **Next (Siguiente)**.

1. En la página Configure Advanced Settings (Configurar opciones avanzadas), elija un grupo de seguridad y nombres de bases de datos adecuados. El grupo de seguridad que utilice debe, al menos, permitir el acceso TCP de entrada al puerto 3306 desde el nodo principal del clúster. Si no ha creado su clúster en este punto, puede permitir que todos los hosts se conecten al puerto 3306 y ajustar el grupo de seguridad después de haber lanzado el clúster. Elija **Launch DB Instance (Lanzar instancia de base de datos)**.

1. En el panel de RDS, seleccione **Instances (Instancias)** y seleccione la instancia que acaba de crear. Cuando la base de datos esté disponible, anote el dbname, nombre de usuario, contraseña y nombre de host de la instancia de RDS. Utilizará esta información al crear y configurar el clúster.

**Para especificar una base de datos MySQL externa para Oozie al lanzar un clúster mediante AWS CLI**

Para especificar una base de datos de MySQL externa para Oozie al lanzar un clúster con la AWS CLI, utilice la información que ha anotado al crear la instancia de RDS para configurar `oozie-site` con un objeto de configuración.
**nota**  
Puede crear varios clústeres que utilicen la misma base de datos externa, pero cada clúster compartirá el historial de consultas y la información de usuario.
+ Utilice el AWS CLI, cree un clúster con Oozie instalado, utilizando la base de datos externa que creó y haciendo referencia a un archivo de configuración con una clasificación de configuración para Oozie que especifique las propiedades de la base de datos. En el siguiente ejemplo, se crea un clúster con Oozie instalado, que hace referencia a un archivo de configuración de Amazon S3, `myConfig.json`, que especifica la configuración de la base de datos.
**nota**  
Se incluyen caracteres de continuación de línea de Linux (\$1) para facilitar la lectura. Se pueden eliminar o utilizar en los comandos de Linux. En Windows, elimínelos o sustitúyalos por un signo de intercalación (^).

  ```
  aws emr create-cluster --release-label emr-7.12.0 --applications Name=Oozie Name=Spark Name=Hive \
  --instance-type m5.xlarge --instance-count 3 \
  --configurations https://s3.amazonaws.com/amzn-s3-demo-bucket/myfolder/myConfig.json --use-default-roles
  ```

  A continuación, se muestra contenido de ejemplo del archivo `myConfig.json`. Sustituya y *password* por la URL *JDBC URL**username*, el nombre de usuario y la contraseña de JDBC de su instancia de RDS. 
**importante**  
La dirección URL de JDBC debe incluir el nombre de la base de datos como sufijo. **Por ejemplo, jdbc:mysql://.xxxxxxxxxx.us-east-1.rds.amazonaws.com:3306/ dbname. oozie-external-db**

  ```
  [{
    "Classification": "oozie-site",
      "Properties": {
          "oozie.service.JPAService.jdbc.driver": "org.mariadb.jdbc.Driver",
          "oozie.service.JPAService.jdbc.url": "JDBC URL",                               
          "oozie.service.JPAService.jdbc.username": "username",
          "oozie.service.JPAService.jdbc.password": "password"
      },
      "Configurations": []
  }]
  ```