Utilizzo di Oozie con un database remoto in Amazon RDS - Amazon EMR

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

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. Apri la console di Amazon RDS all'indirizzo https://console.aws.amazon.com/rds/.

  2. Seleziona Launch a DB instance (Avvia istanza database).

  3. Scegliere MySQL, quindi selezionare Seleziona.

  4. 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).

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

  6. 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.

  7. 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 (\) 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.1.0 --applications Name=Oozie Name=Spark Name=Hive \ --instance-type m5.xlarge --instance-count 3 \ --configurations https://s3.amazonaws.com/mybucket/myfolder/myConfig.json --use-default-roles

    Contenuti di esempio del file myConfig.json sono mostrati di seguito. Sostituire l'URL JDBC, ilnome utente e la password con l'URL JDBC, il nome utente e la password dell'istanza RDS.

    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": [] }]