Verbindungsprobleme mit Dataproc Metastore beheben

Auf dieser Seite finden Sie Informationen zur Diagnose und Behebung häufiger Verbindungsprobleme beim Verbinden von Dataproc-Clustern oder serverlosen Dataproc-Arbeitslasten mit einem verwalteten Dataproc Metastore-Dienst.

Häufige Symptome und Fehlermeldungen

Wenn bei Dataproc Verbindungsprobleme mit Dataproc Metastore auftreten, werden möglicherweise Fehler wie die folgenden angezeigt:

  • Unable to connect to Hive Metastore
  • Connection refused
  • Host unreachable
  • javax.jdo.JDOException oder ähnliche Fehler bei der Datenbankverbindung
  • Zeitüberschreitungsfehler beim Auflisten von Datenbanken oder Tabellen oder beim Senden von Spark- oder Hive-Jobs, die mit dem Metastore interagieren.

Häufige Ursachen und Schritte zur Fehlerbehebung

In diesem Abschnitt werden häufige Gründe für Konnektivitätsprobleme mit Dataproc Metastore beschrieben und für jeden Grund werden spezifische Schritte zur Fehlerbehebung angegeben.

1. Probleme mit der Netzwerkkonfiguration

Netzwerkfehler sind die häufigste Ursache für Verbindungsfehler zwischen Dataproc-Arbeitslasten und Dataproc Metastore.

  • Virtual Private Cloud-Netzwerk-Peering oder Zugriff auf private Dienste:

    • Auf Dataproc Metastore-Instanzen wird in der Regel über einen privaten IP-Adressbereich mit einer VPC-Netzwerk-Peering-Verbindung (insbesondere Zugriff auf private Dienste) zugegriffen.
    • Peering-Status prüfen:Prüfen Sie, ob die VPC-Peering-Verbindung zwischen dem VPC-Netzwerk Ihrer Dataproc-Arbeitslast und dem Netzwerk des Diensterstellers für Dataproc Metastore aktiv und fehlerfrei ist. Sie können dies in derGoogle Cloud -Konsole unter VPC-Netzwerk > VPC-Netzwerk-Peering prüfen.
    • Zuweisung von IP-Bereichen:Prüfen Sie, ob in Ihrem VPC-Netzwerk ein ausreichender IP-Bereich für den Zugriff auf private Dienste zugewiesen wurde.
  • Firewallregeln:

    • Prüfen Sie, ob Firewallregeln im VPC-Netzwerk Ihrer Dataproc-Arbeitslast ausgehenden Traffic über den von Dataproc Metastore verwendeten Port zulassen (Standard ist 9083).
    • Prüfen Sie, ob auf der Seite des Dienstproduzentennetzwerks keine zu restriktiven Regeln für eingehenden Traffic vorhanden sind, die Traffic von Ihrer Dataproc-Arbeitslast blockieren.
  • DNS-Auflösung:

    • Prüfen Sie, ob der Hostname des Metastore-Endpunkts (z.B. your-metastore-endpoint.us-central1.dataproc.cloud.google.com) wird korrekt in eine private IP-Adresse aus Ihrem Dataproc-Cluster oder Ihrer serverlosen Dataproc-Umgebung aufgelöst.
    • Probleme mit privaten Cloud DNS-Zonen oder der DNS-Weiterleitung können zu Auflösungsfehlern führen.

Schritte zur Fehlerbehebung (Netzwerk):

  1. Dataproc Metastore-Verbindungsinformationen prüfen:
    • Rufen Sie in der Google Cloud -Console Dataproc Metastore auf und wählen Sie Ihre Instanz aus.
    • Notieren Sie sich den Endpunkt-URI und das Netzwerk, mit dem er verbunden ist.
  2. Virtual Private Cloud-Peering oder Zugriff auf private Dienste prüfen:
    • Rufen Sie VPC-Netzwerk > VPC-Netzwerk-Peering auf. Prüfen Sie, ob die Peering-Verbindung zu servicenetworking-googleapis-com ACTIVE ist.
  3. Konnektivitätstests verwenden:Verwenden Sie die Konnektivitätstests von Google Cloud, um den Netzwerkpfad von einer Compute Engine-VM im Subnetz Ihrer Dataproc-Arbeitslast zur IP-Adresse und zum Port des Dataproc Metastore-Endpunkts zu diagnostizieren.
  4. Firewall-Logs prüfen:Wenn Firewallregeln vermutet werden, analysieren Sie die Cloud Firewall-Logs auf abgelehnte Verbindungen.

2. IAM-Berechtigungen

Das Dienstkonto, das von Ihrer Dataproc-Arbeitslast verwendet wird, benötigt die entsprechenden IAM-Rollen für den Zugriff auf Dataproc Metastore.

  • Erforderliche Rolle:Das Dienstkonto muss die Rolle Dataproc Metastore User (roles/datametastore.user) für die Dataproc Metastore-Instanz oder das Projekt haben.
  • Berechtigungen des Dienst-Agents:Prüfen Sie, ob der Dataproc-Dienst-Agent über ausreichende Berechtigungen verfügt, wenn Dataproc implizit auf den Metastore zugreift.

Schritte zur Fehlerbehebung (IAM):

  1. Dienstkonto identifizieren:Ermitteln Sie das Dienstkonto, das von Ihrem Dataproc-Cluster oder Dataproc Serverless-Batch verwendet wird.
  2. IAM-Rollen überprüfen:Rufen Sie in der Google Cloud Console IAM & Verwaltung > IAM auf. Prüfen Sie die Rollen, die dem Dienstkonto im Dataproc Metastore-Projekt oder in der Dataproc Metastore-Instanz zugewiesen sind. Gewähren Sie roles/datametastore.user, falls es fehlt.
  3. Weitere Informationen zur Dienstkontokonfiguration finden Sie unter:

3. Falsche Endpunktkonfiguration

Die Dataproc-Arbeitslast muss mit dem richtigen Dataproc Metastore-Endpunkt-URI konfiguriert werden.

Schritte zur Fehlerbehebung (Endpunkt):

  1. Endpunkt-URI prüfen:Prüfen Sie die Spark-Eigenschaft hive.metastore.uris oder eine andere Konfiguration, die zum Angeben des Dataproc Metastore-Endpunkts in der Übermittlung Ihres Arbeitslast verwendet wird. Prüfen Sie, ob er mit dem Endpunkt-URI in den Details Ihrer Dataproc Metastore-Instanz übereinstimmt.

4. Weitere Hinweise

  • Metastore-Status:Prüfen Sie, ob sich Ihre Dataproc Metastore-Instanz in der Google Cloud Console im Status HEALTHY befindet. Wenn der Metastore fehlerhaft ist, müssen Sie zuerst die internen Probleme beheben.
  • Versionskompatibilität:Prüfen Sie, ob es bekannte Kompatibilitätsprobleme zwischen Ihrer Dataproc-Image-Version und der Dataproc Metastore-Version gibt.
  • SQL-Proxy im Vergleich zu verwaltetem Dienst:Wenn Sie Cloud SQL als Metastore mit der Initialisierungsaktion cloud-sql-proxy.sh verwenden, finden Sie die entsprechenden Informationen zur Fehlerbehebung in der README-Datei zur Initialisierungsaktion für den Cloud SQL-Proxy.

Nächste Schritte