Verbindungsprobleme bei Batches und Sitzungen beheben

Auf dieser Seite finden Sie eine Anleitung zur Diagnose und Behebung häufiger Netzwerkverbindungsprobleme bei Batcharbeitslasten und interaktiven 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 folgende Fehler 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 Managed Service for Apache Spark aufgeführt und Tipps zur Fehlerbehebung gegeben.

Netzwerkkonfiguration

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

  • Zugriffsoptionen:

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

      • Rufen Sie in der Google Cloud Console Private Service Connect > Endpunkte auf. Verbinden Sie Endpunkte 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 der Batcharbeitslast oder ‑sitzung herstellen.
    • Cloud NAT: Wenn Ihre Arbeitslast auf das öffentliche Internet zugreifen muss, können Sie Cloud NAT für Ihre Batcharbeitslast oder Ihr Sitzungssubnetz konfigurieren:

      • Rufen Sie in der Google Cloud Console die Seite Cloud NAT auf. Konfigurieren Sie ein Gateway oder prüfen Sie, ob ein Gateway für das VPC-Netzwerk, die Region und das Subnetz der Batch-Arbeitslast 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 gegebenenfalls im Hostprojekt des gemeinsam genutzten VPC-Netzwerks) dürfen ausgehenden Traffic zu erforderlichen Zielen nicht blockieren.
      • Falls zutreffend, müssen Regeln für ausgehenden Traffic den 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 ausgehenden Subnetztraffic 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:

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

    • Starten Sie eine Compute Engine-Test-VM im Batch- oder Sitzungssubnetz mit dem Batch- oder Sitzungsdienstkonto.
    • Führen Sie auf der Test-VM die folgenden Konnektivitätstests durch:
      • 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 ist, 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 es mit curl -v https://example.com, wenn Cloud NAT erwartet wird.
    • Führen Sie Google Cloud Network Intelligence Center-Konnektivitätstests aus, um Netzwerkpfade von Ihrem Subnetz zu relevanten Endpunkten wie Google APIs und externen IP-Adressen zu diagnostizieren.
  • Prüfen Sie Cloud Logging auf Netzwerkfehler:

    • Logging für die Arbeitslast oder Sitzung von Managed Service for Apache Spark prüfen. Suchen Sie nach ERROR- oder WARNING-Meldungen im Zusammenhang mit Netzwerkzeitüberschreitungen, Verbindungsablehnungen oder fehlgeschlagenen API-Aufrufen. 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 Ihrer Batcharbeitslast oder -sitzung verwendete Dienstkonto muss die erforderlichen Rollen haben:

  • Managed Service for Apache Spark Worker-Rolle (roles/dataproc.worker).
  • Datenzugriffsrollen wie 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 nicht angegeben, wird standardmäßig das Compute Engine-Standarddienstkonto verwendet.
  • Rufen Sie in der Google Cloud Console die Seite IAM und Verwaltung > IAM auf, suchen Sie nach dem Dienstkonto für die Batcharbeitslast oder -sitzung und prüfen Sie, ob es die erforderlichen Rollen für Arbeitslastvorgänge hat. Weisen Sie alle fehlenden Rollen zu.

Konfiguration des externen Dienstes

Wenn Ihre Arbeitslast mit Datenbanken oder Diensten außerhalb von Google Cloudverbunden ist, prüfen Sie deren Konfiguration:

  • Prüfen Sie, ob die Firewall oder Sicherheitsgruppe des externen Dienstes eingehende Verbindungen aus den IP-Bereichen Ihres VPC-Netzwerk zulässt. Prüfen Sie gegebenenfalls interne IP-Adressen mit 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