Verbindungsprobleme bei Batches und Sitzungen beheben

Auf dieser Seite finden Sie Informationen zur Diagnose und Behebung häufiger Probleme mit der Netzwerkverbindung für Batcharbeitslasten und interaktive Sitzungen von Managed Service for Apache Spark. Diese Probleme können verhindern, dass Ihre Arbeitslasten auf erforderliche Datenquellen, externe Dienste oder Google Cloud APIs zugreifen.

Häufige Symptome und Fehlermeldungen

Wenn bei Managed Service for Apache Spark Verbindungsprobleme auftreten, können Fehler wie die folgenden auftreten:

  • Unable to connect to service_name.googleapis.com
  • Could not reach required Google APIs
  • Connection refused
  • Host unreachable
  • Operation timed out
  • Permission denied (oft netzwerkbezogen, wenn API-Aufrufe blockiert werden)

Möglicherweise treten auch Fehler beim Zugriff auf Daten in Cloud Storage, BigQuery oder anderen Datenbanken auf.

Häufige Ursachen und Tipps zur Fehlerbehebung

In diesem Abschnitt werden häufige Ursachen für Konnektivitätsprobleme bei Managed Service for Apache Spark aufgeführt und Tipps zur Fehlerbehebung gegeben.

Netzwerkkonfiguration

Falsche Netzwerkkonfigurationen sind eine häufige Ursache für Verbindungsfehler. Managed Service for Apache Spark-Arbeitslasten und -Sitzungen werden auf VMs mit internen IP-Adressen ausgeführt. Der private Google-Zugriff (PGA) ist im Subnetz der Arbeitslast oder Sitzung automatisch aktiviert, um auf Google APIs und ‑Dienste zuzugreifen. Weitere Informationen finden Sie unter Netzwerkkonfiguration für Managed Service for Apache Spark.

  • Zugriffsoptionen:

    • Private Service Connect (PSC): Sie können private Endpunkte in Ihrem VPC-Netzwerk erstellen, um auf bestimmte Google APIs zuzugreifen.

      • Rufen Sie in der Google Cloud Console Private Service Connect > Endpunkte auf. Stellen Sie eine Verbindung zu Endpunkten her oder bestätigen Sie, dass Endpunkte für alle erforderlichen APIs wie storage.googleapis.com und dataproc.googleapis.com verbunden sind und dass sie eine Verbindung zum Virtual Private Cloud-Netzwerk für Batcharbeitslasten oder Sitzungen herstellen.
    • Cloud NAT: Wenn Ihre Arbeitslast auf das öffentliche Internet zugreifen muss, können Sie Cloud NAT für das Subnetz Ihrer Batch-Arbeitslast oder Sitzung konfigurieren:

      • Wechseln Sie in der Google Cloud Console zur Seite Cloud NAT. Konfigurieren Sie ein Gateway oder bestätigen Sie, dass ein Gateway für das VPC-Netzwerk, die Region und das Subnetz der Batcharbeitslast oder Sitzung konfiguriert ist. Achten Sie außerdem darauf, dass die Firewallregeln ausgehenden Traffic zu 0.0.0.0/0 zulassen. Weitere Informationen finden Sie unter Cloud NAT einrichten.
  • Firewallregeln:

    • Firewallregeln für ausgehenden Traffic in Ihrem VPC-Netzwerk (oder im Hostprojekt des gemeinsam genutzten VPC-Netzwerks, falls zutreffend) dürfen ausgehenden Traffic zu erforderlichen Zielen nicht blockieren.
      • Falls zutreffend, müssen ausgehende Regeln Traffic zu externen Diensten wie öffentlichen APIs und Datenbanken außerhalb von Google Cloudzulassen. Wenn für Ihre Batcharbeitslast oder Sitzung Internetzugriff erforderlich ist, können Sie Cloud NAT verwenden, um ausgehenden Traffic für das Subnetz bereitzustellen.
    • Obwohl dies keine häufige Ursache für Verbindungsprobleme ist, können zu restriktive Regeln für eingehenden Traffic versehentlich erforderlichen Rückverkehr oder interne Kommunikation blockieren.
  • DNS-Auflösung:

    • Die DNS-Auflösung muss im VPC-Netzwerk konfiguriert werden. Arbeitslasten und Sitzungen müssen Hostnamen für Google APIs wie storage.googleapis.com oder bigquery.googleapis.com und externe Dienste auflösen können.
    • Benutzerdefinierte DNS-Server und private Cloud DNS-Zonen müssen Abfragen für Google-Domains weiterleiten oder auflösen.
    • Wenn Sie Private Service Connect für den privaten Zugriff auf Google APIs verwenden, müssen DNS-Einträge für Google-Dienste über den PSC-Endpunkt in private IP-Adressen in Ihrem VPC-Netzwerk aufgelöst werden.

Tipps zur Fehlerbehebung:

  • Netzwerk- und Subnetzkonfiguration ermitteln:

    • Sehen Sie sich in den Batch- oder Sitzungsdetails von Managed Service for Apache Spark die networkUri und subnetUri an.
    • Prüfen Sie in der Google Cloud Console die Einstellungen für das VPC-Netzwerk und das Subnetz.
  • Verbindung von einer Proxy-VM testen:

    • Starten Sie eine Test-Compute Engine-VM im Batch- oder Sitzungs-Subnetz mit dem Batch- oder Sitzungs-Dienstkonto.
    • Führen Sie auf der Test-VM die folgenden Konnektivitätstests aus:
      • nslookup storage.googleapis.com, um die DNS-Auflösung zu prüfen. Suchen Sie nach anderen Google API-Domains wie bigquery.googleapis.com und dataproc.googleapis.com. Beim privaten Google-Zugriff, der in Managed Service for Apache Spark-Subnetzen automatisch aktiviert wird, oder bei Private Service Connect müssen die Domains in private IP-Adressen aufgelöst werden.
      • curl -v https://storage.googleapis.com, um die HTTPS-Verbindung zu Google APIs zu prüfen. Versuchen Sie auch, eine Verbindung zu anderen Google-Diensten herzustellen.
      • ping 8.8.8.8, um die Internetverbindung zu testen, falls für Ihren Batch oder Ihre Sitzung erforderlich. Versuchen Sie es mit curl -v https://example.com, wenn Cloud NAT erwartet wird.
    • Führen Sie die Verbindungstests des Network Intelligence Center aus, um Netzwerkpfade von Ihrem Subnetz zu relevanten Endpunkten wie Google-APIs und externen IP-Adressen zu diagnostizieren. Google Cloud
  • Netzwerkfehler in Cloud Logging ansehen:

    • Sehen Sie sich die Protokollierung für Ihre Managed Service for Apache Spark-Arbeitslast oder -Sitzung an. Suchen Sie nach ERROR- oder WARNING-Meldungen zu Netzwerkzeitüberschreitungen, Verbindungsverweigerungen oder API-Aufruffehlern. Filtern Sie nach jsonPayload.component="driver" oder jsonPayload.component="executor", um Spark-spezifische Netzwerkprobleme zu finden.

IAM-Berechtigungen

Unzureichende IAM-Berechtigungen können verhindern, dass Arbeitslasten oder Sitzungen auf Ressourcen zugreifen. Dies kann zu Netzwerkfehlern führen, wenn API-Aufrufe abgelehnt werden.

Das von Ihrem Batch-Arbeitslast oder Ihrer Sitzung verwendete Dienstkonto muss die erforderlichen Rollen haben:

  • Managed Service for Apache Spark-Workerrolle (roles/dataproc.worker).
  • Rollen für den Datenzugriff, z. B. roles/storage.objectViewer oder roles/bigquery.dataViewer.
  • Logging: (roles/logging.logWriter).

Tipps zur Fehlerbehebung:

  • Ermitteln Sie das Dienstkonto für die Batcharbeitslast oder ‑sitzung. Wenn es nicht angegeben ist, wird standardmäßig das Compute Engine-Standarddienstkonto verwendet.
  • Rufen Sie in der Google Cloud Console die Seite IAM & Verwaltung > IAM auf, suchen Sie nach dem Dienstkonto für Batcharbeitslasten oder Sitzungen und prüfen Sie, ob es die für Arbeitslastvorgänge erforderlichen Rollen hat. Weisen Sie fehlende Rollen zu.

Konfiguration externer Dienste

Wenn Ihre Arbeitslast eine Verbindung zu Datenbanken oder Diensten außerhalb von Google Cloudherstellt, prüfen Sie deren Konfiguration:

  • Prüfen Sie, ob die Firewall oder Sicherheitsgruppe des externen Dienstes eingehende Verbindungen von den IP-Bereichen Ihres VPC-Netzwerk zulässt. Prüfen Sie gegebenenfalls interne IP-Adressen über VPC Peering, Cloud VPN oder Cloud Interconnect oder Cloud NAT-IP-Adressen.
  • Überprüfen Sie die Datenbankanmeldedaten oder Verbindungsstrings. Prüfen Sie die Verbindungsdetails, Nutzernamen und Passwörter.

Nächste Schritte