

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Utilizzo di Oozie con un database remoto in Amazon RDS
<a name="oozie-rds"></a>

Per impostazione predefinita, le informazioni utente Oozie e le cronologie delle query vengono archiviate in un database MySQL locale sul nodo master. In alternativa, puoi creare uno o più cluster abilitati Oozie utilizzando una configurazione archiviata in Amazon S3 e un database MySQL in Amazon Relational Database Service (Amazon RDS). In questo modo puoi preservare le informazioni utente e la cronologia delle query create da Oozie senza mantenere il cluster Amazon EMR in esecuzione. Ti consigliamo di usare la crittografia lato server Amazon S3 per archiviare il file di configurazione.

Innanzitutto, crea il database remoto per Oozie.

**Creazione del database MySQL esterno**

1. Aprire la console Amazon RDS all'indirizzo [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Seleziona **Launch a DB instance (Avvia istanza database)**.

1. Scegliere MySQL, quindi selezionare **Seleziona**.

1. Lasciare la selezione predefinita di **Multi-AZ Deployment and Provisioned IOPS Storage (Implementazione Multi-AZ e storage IOPS assegnato)** e fare clic su **Next (Successivo)**.

1. Lasciare le impostazioni predefinite per Instance Specifications (Specifiche delle istanze), specificare Settings (Impostazioni) e fare clic su **Next (Successivo)**.

1. Nella pagina Configure Advanced Settings (Configura impostazioni avanzate), scegli un gruppo di sicurezza e nomi di database adeguati. Il gruppo di sicurezza utilizzato deve consentire almeno l'accesso TCP in entrata per la porta 3306 dal nodo master del cluster. Se a questo punto il cluster non è ancora stato creato, puoi consentire a tutti gli host di connettersi alla porta 3306 e modificare il gruppo di sicurezza dopo che il cluster è stato avviato. Seleziona **Avvia istanza database**.

1. Dal pannello di controllo RDS, scegliere **Instances (Istanze)** e selezionare l'istanza appena creata. Quando il database è disponibile, prendere nota di nomedb, nome utente, password e nome host dell'istanza RDS. Utilizzare questa informazione quando si crea e configura il cluster.

**Per specificare un database MySQL esterno per Oozie all'avvio di un cluster utilizzando il AWS CLI**

Per specificare un database MySQL esterno per Oozie quando si avvia un cluster utilizzando AWS CLI, utilizzare le informazioni annotate durante la creazione dell'istanza RDS per configurare `oozie-site` con un oggetto di configurazione
**Nota**  
Puoi creare più cluster che utilizzano lo stesso database esterno, ma ogni cluster condividerà la cronologia delle query e le informazioni utente.
+ Usando AWS CLI, crea un cluster con Oozie installato, usando il database esterno che hai creato e facendo riferimento a un file di configurazione con una classificazione di configurazione per Oozie che specifica le proprietà del database. L'esempio seguente consente di creare un cluster con Oozie installato, facendo riferimento a un file di configurazione in Amazon S3, `myConfig.json`, che specifica la configurazione del database.
**Nota**  
I caratteri di continuazione della riga Linux (\$1) sono inclusi per la leggibilità. Possono essere rimossi o utilizzati nei comandi Linux. Per Windows, rimuoverli o sostituirli con un accento circonflesso (^).

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

  Contenuti di esempio del file `myConfig.json` sono mostrati di seguito. Sostituisci *JDBC URL* e *password* con l'URL JDBC, il nome utente e la password dell'istanza RDS. *username* 
**Importante**  
L'URL JDBC deve includere il nome del database come suffisso. **Ad esempio, 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": []
  }]
  ```