Durch Anklicken „Akzeptieren“, stimmen Sie der Speicherung von Cookies auf Ihrem Gerät zu, um die Seitennavigation zu verbessern, die Nutzung der Website zu analysieren und unsere Marketingaktivitäten zu unterstützen. Sehen Sie sich unsere an Datenschutzrichtlinie für weitere Informationen.
Sep 4, 2024
More

Airbyte und Airflow in Compute Engine auf GCP bereitstellen

Erstellen und verwalten Sie Datenpipelines effizient. Von Sanu Maharjan

Datenintegration und Workflow-Management werden zu unverzichtbaren Elementen moderner Unternehmen. Aufgrund des zunehmenden Cloud-Computings verwenden Unternehmen Cloud-basierte Lösungen, um ihre Aufgaben in den Bereichen Datenintegration und Workflow-Management zu bewältigen. Compute Engine (CE), einer der Cloud-Computing-Dienste von GCP, ermöglicht es Ihnen, virtuelle Maschinen zu erstellen, wann immer Sie sie benötigen.

Um den Datenintegrationsprozess zu vereinfachen, greifen viele Unternehmen auf Tools wie Airbyte und Apache Airflow zurück. Airbyte ist eine Open-Source-Datenintegrationsplattform, mit der Sie eine Verbindung zu verschiedenen Datenquellen herstellen und Daten zwischen ihnen verschieben können. Apache Airflow hingegen ist eine Open-Source-Plattform für die programmgesteuerte Erstellung, Planung und Überwachung von Workflows.

In diesem Blogbeitrag werden wir Sie durch den Prozess der Einrichtung einer Instanz in der GCP mithilfe von CE und der Bereitstellung bekannter Datenintegrations- und Workflow-Management-Tools wie Airbyte und Airflow darauf führen. Auf diese Weise werden Sie in der Lage sein, Ihre Aufgaben im Bereich Workflow-Management und Datenintegration in einer sicheren und flexiblen Umgebung zu verwalten. Lass uns loslegen!

Neue Instanz in CE erstellen

Gehen Sie wie folgt vor, um eine neue Instanz in GCP zu erstellen:

1. Öffnen Sie die GCP Console und navigieren Sie zur Compute Engine-Seite.

2. Klicken Sie auf die Schaltfläche „Instanz erstellen“, um eine neue Instanz zu erstellen.

3. Geben Sie im Dialog „Instanz erstellen“ einen Namen für die Instanz ein.

4. Wählen Sie eine Region und eine Zone für die Instanz aus. Die Region und die Zone bestimmen den physischen Standort der Instance. Wählen Sie also eine Region und Zone aus, die Ihren Benutzern oder Ihren anderen Ressourcen am nächsten sind.

5. Wählen Sie einen Maschinentyp für die Instanz aus. Der Maschinentyp bestimmt die Anzahl der CPUs und die Menge an Arbeitsspeicher, die der Instanz zugewiesen ist. Sie können aus einer Reihe vordefinierter Maschinentypen wählen oder einen benutzerdefinierten Maschinentyp erstellen.

6. Wählen Sie im Abschnitt „Boot disk“ ein Disk-Image für die Instanz aus. Sie können ein öffentliches Image auswählen, das von GCP bereitgestellt wird, oder Sie können ein benutzerdefiniertes Image erstellen.

7. Konfigurieren Sie beispielsweise zusätzliche Optionen wie Netzwerkeinstellungen, Metadaten und Labels.

8. Klicken Sie auf die Schaltfläche „Erstellen“, um die Instanz zu erstellen.

Unten findest du den Screenshot mit deinen Einstellungen und auf der rechten Seite siehst du bereits die Preise, die anfallen werden.

Nachdem Sie die Instanz erstellt haben, können Sie mit verschiedenen Methoden wie SSH oder RDP eine Verbindung zu ihr herstellen und Anwendungen und Dienste darauf bereitstellen. GCP bietet eine Reihe von Diensten für die Verwaltung und Skalierung Ihrer Infrastruktur, z. B. Lastenausgleich, automatische Skalierung und verwaltete Datenbanken. Für dieses Tutorial gehen wir zu SSH und führen die erforderlichen Befehle aus.

Klicken Sie auf SSH, um eine Verbindung zur Instanz herzustellen.

Airbyte bereitstellen

Dadurch wird ein neues Fenster in der Terminaloberfläche geöffnet und wir können mit der Bereitstellung von Airbyte und Airflow beginnen. Ich habe bereits unten eine Reihe von Befehlen geschrieben. Um Airbyte und Airflow bereitzustellen, müssen Sie sie nur kopieren und in das Terminal einfügen, mit Ausnahme des Befehls, in dem $USER steht. Dort musst du den $USER durch deinen User_Namen ersetzen.

sudo apt-get aktualisieren
  • Dieser Befehl aktualisiert die Liste der verfügbaren Softwarepakete auf Ihrem System.

sudo apt-get install -y apt-transport-https ca-zertifikate curl gnupg2 häufig vorkommende Softwareeigenschaften
  • Dieser Befehl installiert mehrere Pakete, die zum Herunterladen und Installieren von Docker benötigt werden.

curl -fSSL https://download.docker.com/linux/debian/gpg | sudo apt-key hinzufügen —
  • Dieser Befehl lädt den Docker-GPG-Schlüssel herunter und fügt ihn dem apt-Schlüsselbund hinzu.

sudo add-apt-repository „deb [arch=amd64] https://download.docker.com/linux/debian buster stable“
  • Dieser Befehl fügt das Docker-Repository zur Liste der Repositorys hinzu, auf die apt zugreifen kann.

sudo apt-get aktualisieren
  • Mit diesem Befehl wird die Liste der verfügbaren Softwarepakete auf Ihrem System erneut aktualisiert, diesmal einschließlich der Docker-Pakete aus dem Docker-Repository.

sudo apt-get install -y docker-ce docker-ce-cli containerd.iosudo apt-get update sudo apt-get install -y docker-ce docker-ce-cli containerd.io
  • Mit diesem Befehl werden Docker und seine Abhängigkeiten installiert. Die installierten Pakete sind docker-ce, docker-ce-cli und containerd.io.

sudo usermod -a -G docker $BENUTZER
  • ERSETZE $USER durch deinen User_Namen
  • Mit diesem Befehl wird der aktuelle Benutzer zur Docker-Gruppe hinzugefügt, sodass der Benutzer Docker-Befehle ausführen kann, ohne sudo zu verwenden.

sudo apt-get -y installiere Docker-Compose
  • Mit diesem Befehl wird Docker Compose installiert, ein Tool zum Definieren und Ausführen von Docker-Anwendungen mit mehreren Containern.

Docker-Compose-Version
  • Dieser Befehl überprüft, ob Docker Compose installiert ist, und zeigt die Versionsnummer an.

abmelden
  • Mit diesem Befehl wird der aktuelle Benutzer abgemeldet.

Stellen Sie nun eine Verbindung zur Instanz her, indem Sie auf SSH klicken. Lassen Sie uns dann Airbyte bereitstellen, indem wir die folgenden Befehle ausführen:

mkdir airbyte && cd airbyte
  • Dieser Befehl erstellt ein neues Verzeichnis namens Airbyte und navigiert in dieses Verzeichnis. Die nachfolgenden Befehle werden in diesem Verzeichnis ausgeführt.

lockig -soO https://raw.githubusercontent.com/airbytehq/airbyte-platform/main/{.env,docker-compose.yaml}
  • Dieser Befehl verwendet curl, um zwei Dateien aus dem Airbyte-GitHub-Repository herunterzuladen: .env und docker-compose.yaml. Das Flag -s wird verwendet, um unnötige Ausgaben zu unterdrücken, und das Flag -O wird verwendet, um die Dateien mit ihren ursprünglichen Namen zu speichern.

lockig -soO https://raw.githubusercontent.com/airbytehq/airbyte-platform/main/{.env,flags.yml}
  • Dieser Befehl verwendet curl, um zwei Dateien aus dem Airbyte-GitHub-Repository herunterzuladen: .env und flags.yml. Das Flag -s wird verwendet, um unnötige Ausgaben zu unterdrücken, und das Flag -O wird verwendet, um die Dateien unter ihren ursprünglichen Namen zu speichern.

Docker Compose Up -d
  • Dieser Befehl verwendet Docker Compose, um die Airbyte-Plattform im getrennten Modus zu starten. Das Flag -d wird verwendet, um die Container im Hintergrund auszuführen.

Wenn alles glatt läuft, solltest du so etwas haben:

Wir können Airbyte jetzt schon starten. Klicken Sie auf den Namen Ihrer Instanz und scrollen Sie nach unten zum Abschnitt Netzwerkschnittstelle und kopieren Sie dann Ihre externe IP-Adresse.

<external_ip_address>Gehe zum Link: http: //:8000. Dies sollte eine Aufforderung zur Eingabe von Benutzername und Passwort öffnen. In der Standardeinstellung lautet der Benutzername Airbyte und das Passwort ist Passwort.

Sobald wir den Benutzernamen und das Passwort eingegeben haben, werden wir mit einer Willkommensseite mit der Warnung begrüßt, dass wir das Passwort ändern müssen. Lassen Sie uns das zuerst tun.

Gehen wir zurück zu unserem Terminal und geben den folgenden Befehl ein, um zuerst den Docker herunterzufahren:

Docker Compose Down

Öffnen Sie nun die Datei docker-compose.yaml über Vim, indem Sie Folgendes eingeben:

von docker-compose.yaml

Wenn Sie bis zum Ende scrollen und den Abschnitt Umgebung finden, müssen Sie dort BASIC_AUTH_USERNAME und BASIC_AUTH_PASSWORD auf Ihren gewünschten Benutzernamen und das gewünschte Passwort ändern.

Wie benutzt man Vim:

Wenn Sie mit Vim nicht vertraut sind, platzieren Sie zuerst den Cursor an der Stelle, an der Sie bearbeiten möchten, und drücken Sie dann „i“ auf der Tastatur. Dadurch gelangen Sie in den Modus „EINFÜGEN“, dann können Sie wie in einem normalen Editor bearbeiten. Wenn du fertig bist, dann drücke Alt+Backspace, um den Einfügemodus zu verlassen. Um den Vorgang zu beenden, geben Sie einfach „:wq“ ein. Dadurch wird die Datei geschrieben und die Datei wird von Vim gelöscht.

Geben Sie nun den Befehl ein, um den Docker zu starten:

Docker Compose Up -d

Sobald Docker gestartet ist, können Sie wieder zu Ihrer externen IP-Adresse gehen <external_ip_address>http: //:8000, und jetzt gibst du den neuen Benutzernamen und das Passwort ein.


HINWEIS: Geben Sie niemals Ihren Benutzernamen, Ihr Passwort und Ihre externe IP-Adresse an Dritte weiter.

Im nächsten Blog werden wir erklären, wie man Verbindungen in Airbyte herstellt und Daten nach Bigquery exportiert. Seien Sie also gespannt.

Airflow einsetzen

Jetzt ist Airbyte betriebsbereit. Gehen wir zurück zu Ihrem Terminal und stellen Airflow bereit. Stellen Sie zunächst sicher, dass Sie sich im Home-Verzeichnis befinden. Wenn Sie sich nicht sicher sind, geben Sie einfach ein

cd..
  • Dadurch kehren Sie zum Home-Verzeichnis zurück und geben Sie die folgenden Befehle ein, um Airflow bereitzustellen:

mdir Luftstrom & d Luftstrom
  • Dieser Befehl erstellt ein neues Verzeichnis namens airflow und navigiert in dieses Verzeichnis. Die nachfolgenden Befehle werden in diesem Verzeichnis ausgeführt.

curl -LFo 'https://airflow.apache.org/docs/apache-airflow/2.5.1/docker-compose.yaml'
  • Dieser Befehl verwendet curl, um die Docker Compose-Datei für Apache Airflow Version 2.5.1 von der offiziellen Airflow-Website herunterzuladen.

mkdir -p. /Tage. /protokolle. /Plugins
  • Dieser Befehl erstellt drei Verzeichnisse (dags, logs und plugins) im aktuellen Verzeichnis. Diese Verzeichnisse werden von Airflow zum Speichern von DAGs, Logs und Plugins verwendet.

echo -e „AIRFLOW_UID=$ (id -u)“ > .env
  • Dieser Befehl legt die Umgebungsvariable AIRFLOW_UID in einer Datei namens .env fest. Der Wert von AIRFLOW_UID wird auf die UID (Benutzer-ID) des aktuellen Benutzers gesetzt.

Docker Compose Up Airflow-Init
  • Dieser Befehl verwendet Docker Compose, um die Airflow-Datenbank zu initialisieren. Dieser Befehl sollte einmal ausgeführt werden, bevor der Airflow-Webserver oder Scheduler ausgeführt wird.

Docker Compose Up -d
  • Dieser Befehl startet den Airflow-Webserver und den Scheduler im getrennten Modus. Das Flag -d wird verwendet, um die Container im Hintergrund auszuführen.

Sobald alle Schritte abgeschlossen sind, sollten Sie so etwas haben:

Ähnlich wie bei Airbyte müssen Sie, wenn Sie Airflow öffnen möchten, nur die Portnummer auf 8080 ändern. <external_ip_address>Also http: //:8080 und du solltest die Anmeldeseite sehen

Auch hier ist die Standardeinstellung sehr einfach. Der Nutzername ist Luftstrom und das Passwort ist auch Luftstrom. Sie werden jetzt verschiedene DAGs sehen, die vorinstalliert sind, und Sie können sie ignorieren. Als erstes müssen Sie den Benutzernamen und das Passwort ändern. Klicken Sie auf Sicherheit -> Benutzer auflisten und dann auf das Symbol „+“.

Jetzt wissen wir, dass der Airflow auch läuft. Später in der Serie werden wir auch detailliert darauf eingehen, wie Standard-DAGs gelöscht und unsere eigenen DAGs ausgeführt werden.

Fazit

Zusammenfassend lässt sich sagen, dass das Erstellen einer neuen Instanz in Google Cloud Platform Compute Engine ein relativ einfacher Vorgang ist. Wenn Sie die in diesem Blog beschriebenen Schritte befolgen, können Sie schnell eine neue Instanz erstellen und Docker und Docker Compose installieren. Sobald Docker und Docker Compose installiert sind, können Sie Airbyte und Apache Airflow auf Ihrer Instance bereitstellen.

Airbyte ist eine leistungsstarke Open-Source-Datenintegrationsplattform, mit der Sie eine Verbindung zu verschiedenen Datenquellen herstellen und Daten zwischen ihnen verschieben können. Apache Airflow hingegen ist eine leistungsstarke Open-Source-Plattform für die programmgesteuerte Erstellung, Planung und Überwachung von Workflows.

Indem Sie sowohl Airbyte als auch Apache Airflow auf Ihrer Compute Engine-Instanz bereitstellen, können Sie leistungsstarke Datenpipelines und Workflows erstellen, mit denen Sie Datenintegrationsaufgaben automatisieren, Datenverarbeitungsaufgaben planen und ausführen sowie andere datenbezogene Aufgaben ausführen können.

Zusammenfassend lässt sich sagen, dass die Kombination aus Compute Engine, Docker, Docker Compose, Airbyte und Apache Airflow eine leistungsstarke Plattform für den Aufbau und die Verwaltung von Datenpipelines und Workflows in der Cloud bietet. Mithilfe dieses Blogs können Sie schnell mit der Erstellung Ihrer eigenen Datenpipelines und Workflows in Compute Engine beginnen.

Weitere Links

Dieser Beitrag ist Teil der Serie zur Erstellung einer vollständigen Datenpipeline oder eines ETL-Prozesses.

Folge uns auf LinkedIn für Einblicke in unsere tägliche Arbeit und wichtige Updates zu BigQuery, Data Studio und Marketing Analytics.

Abonniere unseren YouTube-Kanal für Diskussionen zu DWH, BigQuery, Looker Studio und Google Tag Manager.

Wenn Sie BigQuery von Grund auf lernen möchten, erhalten Sie Zugriff auf unsere kostenloser BigQuery-Kurs

Verbessern Sie Ihre Fähigkeiten mit Google Data Studio und BigQuery, indem Sie sich für unser Udemy-Kurs.

Benötigen Sie Hilfe bei der Einrichtung eines modernen, kostengünstigen Data Warehouse oder eines analytischen Dashboards? Senden Sie uns eine E-Mail an hello@datadice.io um einen Anruf zu vereinbaren.