

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Utilisation d'Oozie avec une base de données distante dans Amazon RDS
<a name="oozie-rds"></a>

Par défaut, les informations utilisateur et les historiques de requêtes Oozie sont stockés dans une base de données MySQL locale sur le nœud principal (maître). Vous pouvez également créer un ou plusieurs clusters compatibles avec Oozie à l'aide d'une configuration stockée dans Amazon S3 et d'une base de données MySQL dans Amazon Relational Database Service (Amazon RDS). Cela vous permet de conserver les informations utilisateur et l'historique des requêtes créés par Oozie sans maintenir votre cluster Amazon EMR en cours d'exécution. Nous vous recommandons d'utiliser le chiffrement côté serveur Amazon S3 pour stocker le fichier de configuration.

Commencez par créer la base de données distante pour Oozie.

**Pour créer la base de données MySQL externe**

1. Ouvrez la console Amazon RDS à l'adresse [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Sélectionnez **Launch a DB Instance (Lancer une instance de base de donnéesà**.

1. Choisissez MySQL, puis **Select (Sélectionner)**.

1. Laissez la sélection par défaut de **Multi-AZ Deployment and Provisioned IOPS Storage (Déploiement multi-AZ et Stockage sur IOPS provisionnés)** et choisissez **Next (Suivant)**.

1. Conservez les valeurs par défaut des spécifications de l'instance, spécifiez les paramètres, puis choisissez **Next (Suivant)**.

1. Dans la page de configuration de paramètres avancés, choisissez des noms de groupe de sécurité et de base de données adéquats. Le groupe de sécurité que vous utilisez doit permettre au moins l'accès TCP entrant pour le port 3306 à partir du nœud principal de votre cluster. Si vous n'avez pas créé votre cluster à ce stade, vous pouvez autoriser tous les hôtes à se connecter au port 3306 et ajuster le groupe de sécurité, une fois que vous avez lancé le cluster. Choisissez **Launch DB Instance (Lancer l'instance de base de données)**.

1. Dans le tableau de bord RDS, sélectionnez **Instances** et choisissez l'instance que vous venez de créer. Lorsque votre base de données est disponible, notez la dbname (nom de la base de données), le nom d'utilisateur, le mot de passe et le nom d'hôte d'instance RDS. Vous allez utiliser ces informations pour créer et configurer votre cluster.

**Pour spécifier une base de données MySQL externe pour Oozie lors du lancement d'un cluster à l'aide du AWS CLI**

Pour spécifier une base de données MySQL externe pour Oozie lors du lancement d'un cluster à l'aide de l' AWS CLI, utilisez les informations que vous avez notées lors de la création de votre instance RDS pour configurer `oozie-site` avec un objet de configuration.
**Note**  
Vous pouvez créer plusieurs clusters qui utilisent la même base de données externe, mais chaque cluster partage l'historique des requêtes et les informations utilisateur.
+ À l'aide de AWS CLI, créez un cluster sur lequel Oozie est installé, en utilisant la base de données externe que vous avez créée et en référençant un fichier de configuration avec une classification de configuration pour Oozie qui spécifie les propriétés de la base de données. L'exemple suivant crée un cluster avec Oozie installé en référençant un fichier de configuration dans Amazon S3, `myConfig.json`, qui spécifie la configuration de la base de données.
**Note**  
Les caractères de continuation de ligne Linux (\$1) sont inclus pour des raisons de lisibilité. Ils peuvent être supprimés ou utilisés dans les commandes Linux. Pour Windows, supprimez-les ou remplacez-les par un caret (^).

  ```
  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
  ```

  Vous trouverez ci-dessous des exemples de contenus du fichier `myConfig.json`. Remplacez *JDBC URL**username*, et *password* par l'URL JDBC, le nom d'utilisateur et le mot de passe de votre instance RDS. 
**Important**  
L'URL JDBC doit inclure le nom de la base de données comme suffixe. **Par exemple, 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": []
  }]
  ```