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
unddataproc.googleapis.com
verbunden sind und dass sie eine Verbindung zum VPC-Netzwerk der Batcharbeitslast oder Sitzung herstellen.
- 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
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.
- 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
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.
- 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.
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
oderbigquery.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.
- Die DNS-Auflösung muss im VPC-Netzwerk konfiguriert werden. Arbeitslasten und Sitzungen müssen Hostnamen für Google APIs wie
Tipps zur Fehlerbehebung:
Netzwerk- und Subnetzkonfiguration ermitteln:
- Sehen Sie sich in den Batch- oder Sitzungsdetails von Serverless for Apache Spark die
networkUri
undsubnetUri
an. - Prüfen Sie in der Google Cloud -Console die Einstellungen für das VPC-Netzwerk und das Subnetz.
- Sehen Sie sich in den Batch- oder Sitzungsdetails von Serverless for Apache Spark die
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 wiebigquery.googleapis.com
unddataproc.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 Siecurl -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
- oderWARNING
-Meldungen zu Netzwerk-Timeouts, Verbindungsablehnungen oder API-Aufruffehlern. Filtern Sie nachjsonPayload.component="driver"
oderjsonPayload.component="executor"
, um nach Spark-spezifischen Netzwerkproblemen zu suchen.
- Überprüfen Sie das Logging 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. 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
oderroles/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
- Weitere Informationen zum Netzwerk für Serverless for Apache Spark
- Dienstkonten für Serverless for Apache Spark
- Allgemeine Anleitungen zur Fehlerbehebung bei Netzwerkproblemen finden Sie hier: