Verbindungsprobleme bei Batches und Sitzungen beheben

Auf dieser Seite finden Sie Informationen zur Diagnose und Behebung häufiger Probleme mit der Netzwerkverbindung für serverlose Batch-Arbeitslasten und interaktive Sitzungen für 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 Serverless 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 Verbindungsprobleme mit Serverless for Apache Spark aufgeführt und Tipps zur Fehlerbehebung gegeben.

Netzwerkkonfiguration

Fehlerhafte Netzwerkkonfigurationen sind eine häufige Ursache für Verbindungsfehler. Serverless for Apache Spark-Arbeitslasten und -Sitzungen werden auf VMs mit internen IP-Adressen ausgeführt. Der private Google-Zugriff (PGA) ist automatisch für das Subnetz der Arbeitslast oder Sitzung aktiviert, um auf Google APIs und -Dienste zuzugreifen. Weitere Informationen finden Sie unter Netzwerkkonfiguration für Serverless 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 > Endpoints 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 VPC-Netzwerk der Batcharbeitslast oder Sitzung herstellen.
    • Cloud NAT: Wenn Ihre Arbeitslast auf das öffentliche Internet zugreifen muss, können Sie Cloud NAT für das Subnetz Ihrer Batcharbeitslast oder Sitzung konfigurieren:

      • Rufen Sie in der Google Cloud -Console die Seite Cloud NAT auf. 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 freigegebenen 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 Ihre Batcharbeitslast oder Sitzung Internetzugriff benötigt, können Sie Cloud NAT verwenden, um Subnetzausgang bereitzustellen.
    • Obwohl dies keine häufige Ursache für Verbindungsprobleme ist, können zu restriktive Regeln für eingehenden Traffic versehentlich notwendigen 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 Serverless 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 Sitzungsdienstkonto.
    • 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 Serverless 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 dies für Ihren Batch oder Ihre Sitzung erforderlich ist. Versuchen Sie 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:

    • Überprüfen Sie das Logging für Ihre Serverless for Apache Spark-Arbeitslast oder ‑Sitzung. Suchen Sie nach ERROR- oder WARNING-Meldungen zu Netzwerk-Timeouts, Verbindungsablehnungen oder API-Aufruffehlern. Filtern Sie nach jsonPayload.component="driver" oder jsonPayload.component="executor", um nach Spark-spezifischen Netzwerkproblemen zu suchen.

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:

  • Dataproc-Worker-Rolle (roles/dataproc.worker).
  • Datenzugriffsrollen, z. B. roles/storage.objectViewer oder roles/bigquery.dataViewer.
  • Logging: (roles/logging.logWriter).

Tipps zur Fehlerbehebung:

  • Ermitteln Sie das Dienstkonto für die Batch-Arbeitslast oder ‑Sitzung. Wenn nicht angegeben, 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 Anmeldedaten für die Datenbank oder die Verbindungsstrings. Prüfen Sie die Verbindungsdetails, Nutzernamen und Passwörter.

Nächste Schritte