Plan

Es gibt einen mehrstufigen Workflow zur Implementierung von Data Lakes in OCI mit Big Data Service.

  1. Anforderungen: Anforderungen für neue Umgebungen in OCI auflisten

  2. Bewertung: Bewerten Sie die erforderlichen OCI-Services und -Tools

  3. Design: Entwerfen Sie Ihre Lösungsarchitektur und die Größe für OCI

  4. Planen: Erstellen Sie eine detaillierte Planzuordnung für Zeit und Ressourcen.

  5. Provisioning: Erforderliche Ressourcen in OCI bereitstellen und konfigurieren

  6. Implementierung: Daten- und Anwendungs-Workloads implementieren

  7. Pipeline automatisieren: Workflowpipelines für Automatisierung orchestrieren und planen

  8. Testen und validieren: Durchführen von End-to-End-Validierung, Funktions- und Performancetests für die Lösung.

Anforderungen bestimmen

Sie sollten zunächst einen Katalog mit den System- und Anwendungsanforderungen erstellen.

Die folgende Tabelle enthält eine Beispielvorlage und kann als Ausgangspunkt für die Anpassung an Ihren Anwendungsfall dienen.

Discovery-Thema Aktuelles Setup OCI-Anforderungen Notizen und Kommentare
Datengröße - - -
Wachstumsrate - - -
Dateiformate - - -
Datenkomprimierungsformate - - -
Details zum Data Center (für Hybridarchitekturen) - - -
Details zur Netzwerkkonnektivität für VPN/FastConnect-Setup - - -
Soll (RTO, RPO) - - -
HA SLA - - -
Backup-Strategie - - -
Infrastrukturverwaltung und -überwachung - - -
Benachrichtigungen und Warnmeldungen - - -
Wartungs- und Upgrade-Prozesse - - -
Service Desk/Vorfallsmanagement - - -
Authentifizierungsmethoden - - -
Autorisierungsmethoden - - -
Verschlüsselungsdetails (im Ruhezustand und in Bewegung) - - -
Prozesse für Schlüssel und Zertifikate - - -
Kerberos-Details - - -
Compliance-Anforderungen - - -
Datenquellen und Datenaufnahmetechniken für jede Quelle - - -
ETL-Anforderungen - - -
Analytics-Anforderungen - - -
Anforderungen an die Datenabfrage - - -
BI/Visualisierung, Berichtsanforderungen - - -
Integration mit anderen Lösungen - - -
Notizbuch- und Data Science-Workload-Details - - -
Workflow-, Orchestrierungs- und Planungsanforderungen - - -
Batch-Workloads - Details der einzelnen Jobs und Anwendungen - - -
Interaktive Workloads - Anzahl der Benutzer, Details zu jedem Job und jeder Anwendung - - -
Streaming-Workloads - Details der einzelnen Jobs und Anwendungen - - -
Details jeder Anwendung, die in den Data Lake integriert ist - - -
Teamdetails (sys-Administratoren, Entwickler, Anwendungseigentümer, Endbenutzer) - - -

Beurteilung

Analysieren Sie in dieser Phase alle Daten und Informationen, die Sie während der Anforderungsphase erfasst haben.

Anhand dieser Informationen können Sie dann bestimmen, welche Services und Tools Sie in OCI benötigen. Am Ende des Tests sollte eine High-Level-Architektur vorhanden sein, die jeden zu verwendenden OCI-Datenservice und die darin implementierte Funktionalität anzeigt.

Das folgende Diagramm zeigt ein Beispiel für den Architekturtyp, den Sie in dieser Phase erstellen.

Beschreibung von architektur-hadoop-datalake.png folgt
Beschreibung der Abbildung architektur-hadoop-datalake.png

Entwerfen

Bestimmen Sie in dieser Phase die Lösungsarchitektur und die anfängliche Skalierung für Oracle Cloud Infrastructure (OCI).

Verwenden Sie die Referenzarchitektur, die Sie in der Bewertungsphase erstellt haben, als Ausgangspunkt.

Ein gutes Verständnis der OCI-Plattform und der Erstellung von Anwendungen in OCI sind erforderlich. Außerdem müssen Sie Networking- und IAM-Policys in OCI einrichten.

Plan

Erstellen Sie in dieser Phase einen detaillierten Projektplan mit Zeit- und Ressourcenzuordnung.

Für jede der Aktivitäten sollten Details zu Aufgaben, Interessenvertretern und Zeitplänen festgelegt werden.

Projektplan

Erstellen Sie einen Projektplan mit allen Aktivitäten, ihren Zeitzeilen und ihren Abhängigkeiten.

Die folgende Abbildung zeigt ein Beispiel eines übergeordneten Projektplans.

Beschreibung von project-plan.png folgt
Beschreibung der Abbildung project-plan.png

Stückliste

Erstellen Sie basierend auf Ihrer Bewertung und Ihrem Design ein BOM für die Zielumgebung in OCI

Listen Sie jeden zu verwendenden Service zusammen mit seinen Größen- und Konfigurationsinformationen auf. Die folgende Tabelle zeigt ein Beispiel für die Artikel, die in die Stückliste aufgenommen werden können.

OCI-Service Größe und Konfiguration
Big-Data-Service -
Data Science -
Data Catalog -
Virtual Machines -
Speicher sperren -
Objektspeicher -
Autonomous Data Warehouse -
Virtuelles Cloud-Netzwerk -
Identity and Access Management -

Planung von Big Data Service

In diesem Abschnitt werden wichtige Entscheidungen erläutert, die Sie zum Starten eines Clusters in Big Data Service (BDS) treffen müssen.

BDS-Hadoop-Cluster werden auf OCI-Compute-Instanzen ausgeführt. Sie müssen bestimmen, welche Instanztypen Sie verwenden möchten. Diese Instanzen werden im Virtual Cloud Network-(VCN-)Subnetz ausgeführt. Sie müssen vor dem Starten von Clustern konfiguriert werden. Außerdem müssen Sie die Speicheranforderungen für Block-Volumes festlegen, die an Clusterknoten angehängt sind. Darüber hinaus müssen IAM-Policys konfiguriert werden.

Es gibt zwei Typen von Knoten:

  • Master- und Utilityknoten. Diese Knoten enthalten die Services, die für den Betrieb und die Verwaltung des Clusters erforderlich sind. Sie speichern oder verarbeiten keine Daten.

  • Worker-Knoten Diese Knoten speichern und verarbeiten Daten. Der Verlust eines Worker-Knoten wirkt sich nicht auf den Betrieb des Clusters aus, kann aber die Performance beeinträchtigen.

Cluster können im sicheren und hochverfügbaren oder minimalen (nicht-HA-)Modus bereitgestellt werden. Außerdem müssen Sie einen Plan für die zu konfigurierenden Hadoop-Komponenten und deren Größe erstellen. Weitere Informationen zur Konfiguration und Skalierung von Clustern erhalten Sie über den BDS-Dokumentationslink im Abschnitt "Weitere Informationen".

Mit der folgenden Tabelle können Sie einen Plan für BDS-Cluster erstellen.

Thema Größe und Konfiguration
Sichere und hochverfügbare oder minimale (nicht-HA-)Konfiguration -
Anzahl Worker-Knoten -
Speicher pro Knoten -
Compute-Instanztyp und -Ausprägung für Masterknoten -
Compute-Instanztyp und -Ausprägung für Worker-Knoten -
Konfiguration der Hadoop-Services für Masterknoten 1 -
Konfiguration der Hadoop-Services für Masterknoten 2 (falls zutreffend) -
Konfiguration der Hadoop-Services für Utilityknoten 1 -
Konfiguration der Hadoop-Services für Utilityknoten 2 (sofern zutreffend) -
Konfiguration der Hadoop-Services für Utilityknoten 3 (sofern zutreffend) -
Hadoop-Servicekonfiguration für Worker-Knoten -
Details des virtuellen Cloud-Netzwerks -
Angewendete Identity and Access Management-Policys -
Ambari-Konfiguration -
HDFS-Konfiguration -
Hive-Konfiguration -
HBase-Konfiguration -
Spark-Konfiguration -
Oozie-Konfiguration -
Sqoop-Konfiguration -
Tez-Konfiguration -
Zookeeper-Konfiguration -

Sie können ähnliche Tabellen verwenden, wenn Sie die Zusammensetzung und Größe der anderen Services in Ihrer Architektur planen.

Bereitstellen

Stellen Sie basierend auf den Design- und Skalierungsinformationen der endgültigen Statusarchitektur in BOM erforderliche Ressourcen in OCI bereit, und konfigurieren Sie sie entsprechend den im Projektplan aufgeführten Aufgaben.

Deployment-Workflow für Big Data Service

Bevor Sie ein BDS-Cluster einrichten können, müssen Sie Berechtigungen in IAM konfigurieren und dann das VCN für das Cluster konfigurieren.

IAM konfigurieren

Erstellen Sie zusätzliche IAM-Gruppen mit Zugriffsberechtigungen für das BDS-Cluster.

Sie sollten BDS-Clusteradministrationsaufgaben an einen oder mehrere BDS-Administratoren delegieren.

Wenn der Gruppenname "bds-admin-group" lautet und sich das neue Cluster im Cluster-Compartment befindet, erstellen Sie die folgenden Policys:

allow group bds-admin-group to manage virtual-network-family in compartment Cluster
 allow group bds-admin-group to manage bds-instance in compartment Cluster

Erstellen Sie außerdem eine Policy mit der folgenden Policy-Anweisung:

allow service bdsprod to 
{VNIC_READ, VNIC_ATTACH, VNIC_DETACH, VNIC_CREATE, VNIC_DELETE,VNIC_ATTACHMENT_READ,
 SUBNET_READ, VCN_READ, SUBNET_ATTACH, SUBNET_DETACH, INSTANCE_ATTACH_SECONDARY_VNIC,
 INSTANCE_DETACH_SECONDARY_VNIC} in compartment Cluster

VCN konfigurieren

Sie benötigen zumindest ein einzelnes VCN mit einem einzelnen Subnetz in einer Region mit Zugriff auf das öffentliche Internet.

Für eine komplexe Produktionsumgebung können Sie über mehrere Subnetze und verschiedene Sicherheitsregeln verfügen. Möglicherweise möchten Sie Ihr VCN mit einem On-Premise-Netzwerk oder mit anderen VCNs in anderen Regionen verbinden. Weitere Informationen zum OCI-Networking finden Sie in der OCI-Dokumentation.

BDS-Cluster erstellen

Wählen Sie einen Namen für das Cluster, das Admin-Kennwort und die Größen für Master-, Utility- und Worker-Knoten aus.

Wenn Sie das Cluster erstellen, wählen Sie einen Namen, ein Cluster-Admin-Kennwort und Größen für Master-, Utility- und Worker-Knoten aus. Es gibt auch ein Kontrollkästchen, um eine sichere und hochverfügbare (HA-)Clusterkonfiguration auszuwählen. HA bietet vier Master- und Utilityknoten anstelle von zwei in der minimalen Nicht-HA-Konfiguration.

Stellen Sie sicher, dass Sie das Cluster in dem Compartment erstellen, in dem es sich befindet, und in dem VCN, in dem es enthalten sein soll. Stellen Sie außerdem sicher, dass sich der CIDR-Block für das private Clusternetzwerk nicht mit dem CIDR-Blockbereich des Subnetzes überschneidet, das das Cluster enthält.

Auf das BDS-Cluster zugreifen

Big Data Service-Knoten werden standardmäßig private IP-Adressen zugewiesen, auf die über das öffentliche Internet nicht zugegriffen werden kann.

Sie können die Knoten im Cluster mit einer der folgenden Methoden verfügbar machen:

  • Sie können die privaten IP-Adressen von ausgewählten Knoten im Cluster öffentlichen IP-Adressen zuordnen, um sie öffentlich im Internet verfügbar zu machen.
  • Sie können einen SSH-Tunnel mit einem Bastionhost einrichten. Nur der Bastionhost ist dem öffentlichen Internet zugänglich. Ein Bastionhost bietet Zugriff auf das private Netzwerk des Clusters über das öffentliche Internet.
  • Sie können VPN Connect verwenden, das ein Site-to-Site-Internet Protocol Security-(IPSec-)VPN zwischen Ihrem On-Premise-Netzwerk und Ihrem VCN bereitstellt. Sie können auch OCI FastConnect verwenden, um auf Services in OCI zuzugreifen, ohne über das öffentliche Internet zu gehen. Mit FastConnect wird der Traffic über eine private physische Verbindung geführt.

BDS-Cluster verwalten

Bei BDS mit Oracle Distribution, einschließlich Apache Hadoop (ODH), können Sie Ihr Cluster mit Apache Ambari verwalten.

Er wird auf dem Utilityknoten des Clusters ausgeführt. Sie müssen Port 7183 auf dem Knoten öffnen, indem Sie die Ingress-Regeln in der Netzwerksicherheitsliste konfigurieren.

Um auf Ambari zuzugreifen, öffnen Sie ein Browserfenster, und geben Sie die URL mit der IP-Adresse des Utilityknotens ein. Beispiel: https://<ip_address_or_hostname>:7183

Verwenden Sie den Cluster-Admin-Benutzer (Standardadministrator) und das Kennwort, das Sie beim Erstellen des Clusters eingegeben haben.

Beschreibung von ambari-dashboard-metrics.png folgt
Beschreibung der Abbildung ambari-dashboard-metrics.png

Implementieren

Beginnen Sie mit der Implementierung von Anwendungen und Services für jede Phase. Vor der Auswahl eines bestimmten Service müssen mehrere Kriterien berücksichtigt werden.

Beachten Sie, dass einige Services in mehreren Phasen verwendet werden können. Beispiel: Big Data Service umfasst Komponenten, die in der Erfassungsphase, der Speicherphase und der Transformationsphase verwendet werden können.

Datenaufnahme

  • Data Transfer Appliance: Bei der Migration zu OCI können Sie Data Transfer Service verwenden, um Daten offline in Object Storage zu migrieren.

  • Big Data Service: Big Data Service stellt gängige Hadoop-Komponenten für die Datenaufnahme bereit, einschließlich Kafka, Flume und Sqoop. Benutzer können diese Tools basierend auf ihren Anforderungen konfigurieren. Kafka kann für die Echtzeitaufnahme von Ereignissen und Daten verwendet werden. Beispiel: Wenn Benutzer Ereignisse aus ihren Apps oder dem Server haben und Ereignisse in Echtzeit aufnehmen möchten, können sie Kafka verwenden und Daten in HDFS oder Object Storage schreiben. Flume kann verwendet werden, um Streamingdaten in HDFS- oder Kafka-Themen aufzunehmen. Sqoop ist eines der gängigsten Hadoop-Tools, mit denen Daten aus strukturierten Datenspeichern wie relationalen Datenbanken und Data Warehouses aufgenommen werden.

Speichern

  • Big Data Service: BDS stellt Hadoop-Standardkomponenten wie HDFS und HBase bereit. Daten können aus Spark-Streaming, Spark-Batch oder anderen Jobs in HDFS geschrieben werden. HBase stellt eine nicht relationale verteilte Datenbank bereit, die auf HDFS ausgeführt wird. Sie kann zum Speichern großer Datasets verwendet werden, die als Schlüssel/Wert-Paare gespeichert werden. Daten können von Spark-Jobs im Rahmen von Aufnahme oder Transformation gelesen und in HBase geschrieben werden.

  • Object Storage: OCI Object Storage Service ist eine internetbasierte, leistungsstarke Speicherplattform, die zuverlässige und kostengünstige Dauerhaftigkeit von Daten bietet. Sie kann eine unbegrenzte Menge an Daten eines beliebigen Inhaltstyps speichern. Dazu zählen Analysedaten und umfangreiche Inhalte wie Bilder und Videos. In diesem Muster kann Object Storage als General-Purpose-Blob-Speicher verwendet werden. Big Data Service und andere Services können Daten aus Object Storage lesen und schreiben.

Transformation und Service

  • Big Data Service (BDS): BDS bietet Hadoop-Komponenten wie Spark und Hive, mit denen Daten verarbeitet werden können. Hive und Spark SQL können für die Ausführung von SQL-Abfragen in HDFS- und Object Storage-Daten verwendet werden. Sobald Daten in HDFS oder Object Storage gespeichert sind, können Tabellen durch Verweisen auf Daten erstellt werden. Anschließend kann jedes Business Intelligence-(BI-)Tool oder eine benutzerdefinierte Anwendung eine Verbindung zu diesen Schnittstellen herstellen, um Abfragen für Daten auszuführen. Benutzer können komplexe Batchjobs in Funken schreiben, die Daten großer Größe verarbeiten oder eine sehr komplexe Transformation mit mehreren Phasen haben können. Spark kann zum Implementieren von Jobs zum Lesen und Schreiben aus mehreren Quellen verwendet werden, wie HDFS, HBase und Object Storage. Oracle Cloud SQL ist ein verfügbarer Add-on-Service, mit dem Sie Oracle SQL-Abfragen zu Daten in HDFS, Kafka und Oracle Object Storage initiieren können.

BI, ML, Visualisierung und Governance

  • Data Catalog: Mit OCI Data Catalog-Service können Sie für Metadaten aus Datenquellen im Oracle Cloud Infrastructure-Ökosystem und On Premise ein Harvesting ausführen, um einen Bestand an Datenassets zu erstellen. Damit können Sie Unternehmensglossare mit Kategorien, Unterkategorien und Geschäftsbegriffen erstellen und verwalten, um eine Taxonomie von Geschäftskonzepten mit vom Benutzer hinzugefügten Tags zu erstellen, um die Suche produktiver zu machen. Das erleichtert die Governance und die Suche nach den Daten, die sie für Analysen benötigen.

  • Data Science: Data Science ist eine vollständig verwaltete und serverlose Plattform, auf der Data Science-Teams Modelle für maschinelles Lernen in Oracle Can Infrastructure erstellen, trainieren, bereitstellen und verwalten können. Die Lösung stellt Data Scientists einen kollaborativen, projektorientierten Workspace mit Jupyter-Notizbüchern und pythonzentrischen Tools, Bibliotheken und Packages bereit, die zusammen mit der Oracle Accelerated Data Science Library von der Open-Source-Community entwickelt wurden. Sie kann mit dem restlichen Stack integriert werden, einschließlich Data Flow, Autonomous Data Warehouse und Object Storage.

  • Oracle Analytics Cloud (OAC): OAC bietet KI-gestützte Selfservice-Analysefunktionen für Datenvorbereitung, -erkennung und -visualisierung, intelligentes Unternehmens- und Ad-hoc-Reporting zusammen mit erweiterten Analysen und Natural Language Processing/Generierung.

Automatisieren

Nach der Implementierung fügen Sie die Automatisierung hinzu, indem Sie einzelne Jobs planen oder eine oder mehrere Pipelines einrichten.

Sie können ein Workflow-Management-Tool wie Airflow oder Oozie einrichten. Oozie ist enthalten und vorkonfiguriert, wenn Sie ein Big Data Service-Cluster einrichten.