Utilisation de Hue avec une base de données distante dans Amazon RDS - Amazon EMR

Utilisation de Hue avec une base de données distante dans Amazon RDS

Par défaut, les informations utilisateur et les historiques de requêtes Hue sont stockés dans une base de données MySQL locale sur le nœud maître. Vous pouvez également créer un ou plusieurs clusters compatibles avec Hue à 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 Hue 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 Hue.

Pour créer la base de données MySQL externe
  1. Ouvrez la console Amazon RDS à l'adresse https://console.aws.amazon.com/rds/.

  2. Cliquez sur Launch a DB Instance (Lancement d'une instance DB).

  3. Choisissez MySQL et cliquez sur Select (Sélectionner).

  4. Laissez la sélection par défaut de Multi-AZ Deployment and Provisioned IOPS Storage (Déploiement multi-AZ et Stockage sur volumes IOPS dimensionnés) et cliquez sur Next (Suivant).

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

  6. Dans la page Configuration de paramètres avancés, choisissez un groupe de sécurité et un nom 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 maître 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. Cliquez sur Launch DB Instance (Lancement d'une instance DB).

  7. 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 Hue lors du lancement d'un cluster à l'aide de l'AWS CLI

Pour spécifier une base de données MySQL externe pour Hue 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 hue.ini 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.

  • Utilisez l'AWS CLI pour créer un cluster avec Hue installé, à l'aide de 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 Hue qui spécifie les propriétés de la base de données. L'exemple suivant crée un cluster avec Hue 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 (\) 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-5.36.1 --applications Name=Hue Name=Spark Name=Hive \ --instance-type m5.xlarge --instance-count 3 \ --configurations https://s3.amazonaws.com/mybucket/myfolder/myConfig.json --use-default-roles

    Vous trouverez ci-dessous des exemples de contenus du fichier myConfig.json. Remplacez dbname (nom de la base de données), username (nom d'utilisateur), password (mot de passe) et RDS instance hostname (nom d'hôte d'instance RDS) avec les valeurs que vous avez notées précédemment dans le tableau de bord RDS.

    [{ "Classification": "hue-ini", "Properties": {}, "Configurations": [ { "Classification": "desktop", "Properties": {}, "Configurations": [ { "Classification": "database", "Properties": { "name": "dbname", "user": "username", "password": "password", "host": "RDS instance hostname", "port": "3306", "engine": "mysql" }, "Configurations": [] } ] } ] }]

Résolution des problèmes

En cas de basculement d'Amazon RDS

Il est possible que les utilisateurs rencontrent des retards en exécutant une requête parce que l'instance de base de données Hue ne répond pas ou est en cours de basculement. Voici quelques faits et directives pour ce problème :

  • Si vous vous connectez à la console Amazon RDS, vous pouvez rechercher des événements de basculement. Par exemple, pour voir si un basculement est en cours ou a eu lieu, recherchez des événements tels que « Le basculement de l'instance Multi-AZ a commencé » et « Basculement de l'instance Multi-AZ terminé. »

  • Il faut environ 30 secondes à une instance RDS pour terminer un basculement.

  • Si vous rencontrez des réponses plus longues que d'habitude pour les requêtes dans Hue, essayez de réexécuter la requête.