Wie konfiguriere ich AWS Kinesis Firehose so, dass es in Redshift kopiert werden kann?

7

Problem

Ich habe einen Firehose eingerichtet und Optionen ausgewählt, die anscheinend dazu führen würden, dass die gestreamten Daten in Redshift landen. Ich habe eine einzelne Firehose und eine einzelne Zieltabelle in Redshift. Die Daten werden im Zwischen-S3-Bucket korrekt angezeigt, erreichen jedoch nicht die Rotverschiebung.

Ich habe dem CIDR [1] der Firehose-Region den Zugriff auf den Cluster über Redshift-Sicherheitsgruppen gewährt. Ich habe dem Firehose die Anmeldeinformationen für den Redshift-Cluster gegeben und die Anmeldeinformationen getestet. Der Cluster ist öffentlich zugänglich.

Die STL_LOAD_ERRORSTabelle ist leer. Hier würde ich erwarten, dass die Fehler auftreten, die durch eine versuchte und fehlgeschlagene Kopieranweisung verursacht werden. Es gibt auch keine DeliveryToRedshiftEreignisse in CloudWatch. Dies lässt mich glauben, dass es nicht einmal einen Versuch gibt, es zu Redshift zu schaffen.

Ich verwende Redshift COPY-Optionen , um eine jsonpath-Datei für die Kopie anzugeben. Ich habe derzeit : json "s3://app-event-data/_jsonpaths/_bigtable.jsonpath.json". Diese Datei existiert in s3 an diesem Speicherort und sieht aus wie die jsonpath-Datei [3]. Ich habe auch versucht, diesem Feld Anmeldeinformationen hinzuzufügen, aber das ist nicht erforderlich.

Update 1

Ich habe die Anmeldung bei Redshift aktiviert, was mir zeigte, dass erfolgreiche Authentifizierungen von Firehose durchgeführt wurden. Anschließend habe ich eine neue Parametergruppe mit aktivierter Benutzeraktivitätsprotokollierung erstellt und den Cluster neu gestartet. Warten Sie jetzt auf den nächsten Protokollstapel.

Verweise

  1. http://docs.aws.amazon.com/firehose/latest/dev/firehose-dg.pdf
  2. https://aws.amazon.com/kinesis/firehose/
  3. http://docs.aws.amazon.com/redshift/latest/dg/copy-usage_notes-copy-from-json.html

Warum ServerFault? Beste StackExchange-Site für Fragen zu Amazon AWS

Ich hätte diese Frage markiert: amazon-kinesis amazon-firehose amazon-redshift

km6zla
quelle

Antworten:

7

Hier sind alle Dinge, die ich anfangs falsch konfiguriert und schließlich angepasst habe, damit Firehose Daten ordnungsgemäß in Redshift kopiert:

  1. Stellen Sie sicher, dass sich der ausgewählte Bucket in derselben Region befindet wie Ihr Rotverschiebungscluster. Sie können die REGION angeben, wenn aus irgendeinem Grund zusätzliche Gebühren anfallen . Sie können den Bereich eines Buckets nach dem Erstellen nicht mehr ändern .

Bucket-Region auswählen

Dies ist zunächst etwas verwirrend, da in der Regionsauswahl in der Buckets-Konsole "global" steht.

Geben Sie hier die Bildbeschreibung ein

  1. Firehose zitiert keine Bezeichner für Sie. Wenn für den im Formular angegebenen Tabellennamen Anführungszeichen erforderlich sind, müssen Sie diese selbst hinzufügen. Gleiches gilt für Spaltennamen.

Spezifikation des Tabellennamens

  1. Einfache Anführungszeichen nur in den Kopieroptionen.

  2. Gewähren Sie Firehose Zugriff auf Ihren Redshift-Cluster, indem Sie auf der Registerkarte Redshift-Sicherheit die richtige CIDR / IP autorisieren. Hier finden Sie die richtige CIDR / IP für die Region, in der Sie Ihren Firehose erstellt haben . Sie müssen dazu keine neue Cluster-Sicherheitsgruppe erstellen. Sie können es einfach zum Standard hinzufügen. Wenn Sie eine neue Sicherheitsgruppe hinzufügen, müssen Sie Ihren Cluster über das Dashboard neu konfigurieren, um die neue Sicherheitsgruppe zu verwenden. Es kann keine 2 geben.

  3. Redshift COPY akzeptiert keinen Zeitstempel mit Zeitzonen außerhalb von UTC. Wenn Sie ein Format wie RFC3339 verwenden, müssen Sie die Zeiten zuerst in UTC eingeben und TIMEFORMAT 'auto'in den Kopieroptionen angeben .

  4. Um eine Vorstellung davon zu haben, was passiert, wenn Dinge nicht funktionieren, müssen Sie die Benutzeraktivitätsprotokollierung in Redshift aktivieren, indem Sie:

    • Aktivieren der Protokollierung (offensichtlich)

Geben Sie hier die Bildbeschreibung ein

  • Erstellen einer neuen Parametergruppe

Geben Sie hier die Bildbeschreibung ein

  • Setzen von user_activity_logging auftrue

Geben Sie hier die Bildbeschreibung ein

  • Ändern Sie Ihren Cluster, um die neue Parametergruppe zu verwenden

Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein

  • Roboot Ihren Cluster

Geben Sie hier die Bildbeschreibung ein

Enable user activity logging Errungenschaft freigeschaltet

km6zla
quelle