Verwenden von Hue mit einer Remote-Datenbank in Amazon RDS - Amazon EMR

Verwenden von Hue mit einer Remote-Datenbank in Amazon RDS

Standardmäßig werden Benutzerinformationen und Abfrageverläufe von Hue in einer lokalen MySQL-Datenbank auf dem Master-Knoten gespeichert. Sie können alternativ einen oder mehrere Hue-fähige Cluster mithilfe einer in Amazon S3 gespeicherten Konfiguration und einer MySQL-Datenbank in Amazon Relational Database Service(Amazon RDS) erstellen. So können Sie Benutzerdaten und Abfrageverläufe, die von Hue erstellt wurden, dauerhaft speichern, ohne dass der Amazon EMR -Cluster weiter ausgeführt wird. Wir empfehlen die Verwendung der serverseitigen Amazon-S3-Verschlüsselung zum Speichern der Konfigurationsdatei.

Erstellen Sie zunächst die Remote-Datenbank für Hue.

So erstellen Sie die externe MySQL-Datenbank
  1. Öffnen Sie die Amazon-RDS-Konsole unter https://console.aws.amazon.com/rds/.

  2. Klicken Sie auf Launch a DB Instance (Eine DB-Instance starten).

  3. Wählen Sie „MySQL“ aus, und klicken Sie auf Select (Auswählen).

  4. Übernehmen Sie die Standardauswahl von Multi-AZ Deployment and Provisioned IOPS Storage (Multi-AZ-Bereitstellung und bereitgestellte IOPS-Speicherung), und klicken Sie auf Next (Weiter).

  5. Übernehmen Sie die Standardwerte für die Instance-Spezifikationen, geben Sie Einstellungen an, und klicken Sie auf Next (Weiter).

  6. Wählen Sie auf der Seite "Configure Advanced Settings" eine geeignete Sicherheitsgruppe und einen Datenbanknamen aus. Die Sicherheitsgruppe, die Sie verwenden, muss mindestens eingehenden TCP-Zugriff für Port 3306 über den Master-Knoten Ihres Clusters zulassen. Wenn Sie zu diesem Zeitpunkt noch keinen Cluster erstellt haben, können Sie für alle Hosts eine Verbindung mit Port 3306 zulassen und die Sicherheitsgruppe anpassen, nachdem Sie den Cluster gestartet haben. Klicken Sie auf Launch DB Instance (DB-Instance starten).

  7. Wählen Sie im RDS-Dashboard Instances und die Instance aus, die Sie soeben erstellt haben. Wenn Ihre Datenbank verfügbar ist, notieren Sie dbname, Benutzername, Kennwort und RDS-Instance. Diese Informationen benötigen Sie zum Erstellen und Konfigurieren Ihres Clusters.

So geben Sie eine externe MySQL-Datenbank für Hue beim Start eines Clusters mithilfe der AWS CLI an

So geben Sie eine externe MySQL-Datenbank für Hue beim Start eines Clusters mithilfe der AWS CLI, an und verwenden die Informationen, die Sie beim Erstellen Ihrer RDS-Instance für die Konfiguration von hue.ini mit einem Konfigurationsobjekt notiert haben:

Anmerkung

Sie können mehrere Cluster mit derselben externen Datenbank erstellen, aber jeder Cluster gibt Abfrageverläufe und Benutzerdaten frei.

  • Erstellen Sie mit der AWS CLI einen Cluster mit installiertem Hue. Verwenden Sie dazu eine von Ihnen erstellte externe Datenbank und verweisen Sie dabei auf eine Konfigurationsdatei mit einer Konfigurationsklassifizierung für Hue, die die Eigenschaften der Datenbank festlegt. Im folgenden Beispiel wird ein Cluster mit installiertem Hue erstellt, der auf die Konfigurationsdatei Amazon S3 in myConfig.json verweist, die die Datenbankkonfiguration angibt.

    Anmerkung

    Linux-Zeilenfortsetzungszeichen (\) sind aus Gründen der Lesbarkeit enthalten. Sie können entfernt oder in Linux-Befehlen verwendet werden. Entfernen Sie sie unter Windows oder ersetzen Sie sie durch ein Caret-Zeichen (^).

    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

    Beispielinhalte der myConfig.json-Datei werden unten angezeigt. Ersetzen Sie dbname, username, password und RDS instance hostname durch die Werte, die Sie zuvor im RDS-Dashboard angegeben haben.

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

Fehlerbehebung

Im Falle eines Amazon RDS-Failovers

Beim Ausführen einer Abfrage können Verzögerungen auftreten, da die Hue-Datenbank-Instance nicht reagiert oder sich in einem Failover befindet. Im Folgenden finden Sie einige Fakten und Leitlinien für dieses Problem:

  • Wenn Sie sich bei der Amazon-RDS-Konsole anmelden, können Sie nach Failover-Ereignissen suchen. Um beispielsweise festzustellen, ob ein Failover ausgeführt wird oder aufgetreten ist, suchen Sie nach Ereignissen wie "Multi-AZ instance failover started" und "Multi-AZ instance failover completed".

  • Es dauert ca. 30 Sekunden, bis eine RDS-Instance einen Failover ausgeführt hat.

  • Wenn Sie länger als üblich auf Antworten von Abfragen in Hue warten, versuchen Sie, die Abfrage erneut auszuführen.