Auf dieser Seite finden Sie eine Anleitung zur Diagnose und Behebung häufiger Probleme mit der Netzwerk verbindung für Serverless for Apache Spark-Batcharbeitslasten und interaktive Sitzungen. 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 folgende Fehler auftreten:
Unable to connect to service_name.googleapis.comCould not reach required Google APIsConnection refusedHost unreachableOperation timed outPermission denied(oft netzwerkbezogen, wenn API-Aufrufe blockiert werden)
Es können auch Fehler beim Zugriff auf Daten in Cloud Storage, BigQuery oder anderen Datenbanken auftreten.
Häufige Ursachen und Tipps zur Fehlerbehebung
In diesem Abschnitt werden häufige Ursachen für Verbindungsprobleme bei Serverless for Apache Spark aufgeführt und Tipps zur Fehlerbehebung gegeben.
Netzwerkkonfiguration
Fehlkonfigurationen des Netzwerks 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 (Private Google Access, 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 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.
- Wechseln Sie in der Google Cloud Console zu
Private Service Connect > Endpunkte.
Verbinden Sie Endpunkte oder bestätigen Sie, dass Endpunkte für
alle erforderlichen APIs wie
storage.googleapis.comunddataproc.googleapis.comverbunden sind und dass sie eine Verbindung zum VPC-Netzwerk (Virtual Private Cloud) der Batcharbeitslast oder Sitzung herstellen.
- Wechseln Sie in der Google Cloud Console zu
Private Service Connect > Endpunkte.
Verbinden Sie Endpunkte oder bestätigen Sie, dass Endpunkte für
alle erforderlichen APIs wie
Cloud NAT: Wenn Ihre Arbeitslast auf das öffentliche Internet zugreifen muss, können Sie Cloud NAT für Ihre Batcharbeitslast 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 Batch
arbeitslast oder Sitzung konfiguriert ist. Achten Sie außerdem darauf, dass Firewallregeln den ausgehenden Traffic zu
0.0.0.0/0zulassen. Weitere Informationen finden Sie unter Cloud NAT einrichten.
- 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 Batch
arbeitslast oder Sitzung konfiguriert ist. Achten Sie außerdem darauf, dass Firewallregeln den ausgehenden Traffic zu
Firewallregeln:
- Ausgehende Firewallregeln in Ihrem VPC
Netzwerk (oder im Hostprojekt des freigegebenen VPC-Netzwerks, falls zutreffend) dürfen
den 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 mit Cloud NAT ausgehenden Traffic für das Subnetz bereitstellen.
- Übermäßig restriktive Regeln für eingehenden Traffic sind zwar keine häufige Ursache für Verbindungsprobleme, können aber versehentlich erforderlichen Rücktraffic oder die interne Kommunikation blockieren.
- Ausgehende Firewallregeln in Ihrem VPC
Netzwerk (oder im Hostprojekt des freigegebenen VPC-Netzwerks, falls zutreffend) dürfen
den ausgehenden Traffic zu erforderlichen Zielen nicht blockieren.
DNS-Auflösung:
- Die DNS-Auflösung muss im VPC
Netzwerk konfiguriert sein. Arbeitslasten und Sitzungen müssen Hostnamen für
Google APIs wie
storage.googleapis.comoderbigquery.googleapis.comund 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.
- Die DNS-Auflösung muss im VPC
Netzwerk konfiguriert sein. Arbeitslasten und Sitzungen müssen Hostnamen für
Google APIs wie
Tipps zur Fehlerbehebung:
Netzwerk- und Subnetzkonfiguration ermitteln:
- Prüfen Sie in den Details der Serverless for Apache Spark-Batcharbeitslast oder -Sitzung
networkUriundsubnetUri. - Prüfen Sie in der Google Cloud Console die Einstellungen für das VPC-Netzwerk und das Subnetz.
- Prüfen Sie in den Details der Serverless for Apache Spark-Batcharbeitslast oder -Sitzung
Verbindung von einer Proxy-VM testen:
- Starten Sie eine Compute Engine-Test-VM im Subnetz der Batcharbeitslast oder Sitzung mit dem Dienstkonto der Batcharbeitslast oder Sitzung.
- Führen Sie auf der Test-VM die folgenden Verbindungstests aus:
nslookup storage.googleapis.com, um die DNS-Auflösung zu prüfen. Suchen Sie nach anderen Google API-Domains wiebigquery.googleapis.comunddataproc.googleapis.com. Mit dem privaten Google-Zugriff, der automatisch in Serverless for Apache Spark-Subnetzen aktiviert ist, oder 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 Ihre Batcharbeitslast oder Sitzung erforderlich. Versuchen Siecurl -v https://example.com, wenn Cloud NAT erwartet wird.
- Führen Sie Google Cloud Network Intelligence Center-Verbindungstests aus, um Netzwerkpfade von Ihrem Subnetz zu relevanten Endpunkten wie Google APIs und externen IP-Adressen zu diagnostizieren.
In Cloud Logging nach Netzwerkfehlern suchen:
- Prüfen Sie die Logs für Ihre Serverless for Apache Spark-Arbeitslast oder
Sitzung. Suchen Sie nach
ERRORoderWARNINGMeldungen im Zusammenhang mit Netzwerk-Time-outs, Verbindungsablehnungen oder API-Aufruffehlern. Filtern Sie nachjsonPayload.component="driver"oderjsonPayload.component="executor", um nach Spark-spezifischen Netzwerkproblemen zu suchen.
- Prüfen Sie die Logs für Ihre Serverless for Apache Spark-Arbeitslast oder
Sitzung. Suchen Sie nach
IAM-Berechtigungen
Unzureichende IAM-Berechtigungen können verhindern, dass Arbeitslasten oder Sitzungen auf Ressourcen zugreifen. Wenn API-Aufrufe abgelehnt werden, kann dies zu Netzwerkfehlern führen.
Das von Ihrer Batcharbelast oder Sitzung verwendete Dienstkonto muss die erforderlichen Rollen haben:
- Dataproc-Worker-Rolle (
roles/dataproc.worker). - Rollen für den Datenzugriff wie
roles/storage.objectVieweroderroles/bigquery.dataViewer). - Logging: (
roles/logging.logWriter).
Tipps zur Fehlerbehebung:
- Ermitteln Sie das Dienstkonto der Batcharbeitslast oder Sitzung service account. 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 der Batcharbeitslast oder Sitzung und prüfen Sie, ob es die erforderlichen Rollen für Arbeitslastvorgänge hat. Weisen Sie alle fehlenden Rollen zu.
Konfiguration externer Dienste
Wenn Ihre Arbeitslast eine Verbindung zu Datenbanken oder Diensten außerhalb von Google Cloud, prüfen Sie die Konfiguration:
- Prüfen Sie, ob die Firewall oder Sicherheitsgruppe des externen Dienstes eingehende Verbindungen von den IP-Bereichen Ihres VPC-Netzwerks zulässt. Prüfen Sie gegebenenfalls interne IP-Adressen mit VPC-Peering, Cloud VPN oder Cloud Interconnect, oder Cloud NAT-IP-Adressen.
- Prüfen Sie die Anmeldedaten der Datenbank oder die Verbindungsstrings. Prüfen Sie die Verbindung sdetails, Nutzernamen und Passwörter.
Nächste Schritte
- Informationen zu Serverless for Apache Spark-Netzwerken.
- Informationen zu Serverless for Apache Spark-Dienstkonten
- Allgemeine Leitfäden zur Fehlerbehebung bei Netzwerken: