בדף הזה מוסבר איך לאבחן ולפתור בעיות נפוצות בקישוריות לרשת בעומסי עבודה של אצווה ובסשנים אינטראקטיביים ב-Managed Service for Apache Spark. בעיות כאלה יכולות למנוע מעומסי העבודה שלכם גישה למקורות נתונים נדרשים, לשירותים חיצוניים או לממשקי API של Google Cloud .
תסמינים נפוצים והודעות שגיאה
אם נתקלים בבעיות בקישוריות של Managed Service for Apache Spark, יכול להיות שיופיעו שגיאות כמו:
Unable to connect to service_name.googleapis.comCould not reach required Google APIsConnection refusedHost unreachableOperation timed out-
Permission denied(לרוב קשור לרשת אם חוסמים קריאות ל-API)
יכול להיות שתיתקלו גם בשגיאות שקשורות לגישה לנתונים ב-Cloud Storage, ב-BigQuery או במסדי נתונים אחרים.
סיבות נפוצות וטיפים לפתרון בעיות
בקטע הזה מפורטות סיבות נפוצות לבעיות בקישוריות של Managed Service for Apache Spark, ומופיעים בו טיפים לפתרון בעיות שיעזרו לכם לפתור אותן.
הגדרת רשת
הגדרות שגויות ברשת הן סיבה נפוצה לכשלים בקישוריות. עומסי עבודה וסשנים של Managed Service for Apache Spark פועלים במכונות וירטואליות עם כתובות IP פנימיות, וגישה פרטית ל-Google (PGA) מופעלת באופן אוטומטי ברשת המשנה של עומס העבודה או הסשן כדי לגשת לשירותים ולממשקי Google APIs. מידע נוסף זמין במאמר בנושא הגדרת הרשת של Managed Service for Apache Spark.
אפשרויות הגישה:
Private Service Connect (PSC): אתם יכולים ליצור נקודות קצה פרטיות ברשת ה-VPC שלכם כדי לגשת לממשקי Google APIs ספציפיים.
- במסוף Google Cloud , עוברים אל Private Service Connect > Endpoints.
מחברים נקודות קצה או מוודאים שהן מחוברות לכל ממשקי ה-API הנדרשים, כמו
storage.googleapis.comו-dataproc.googleapis.com, ושהן מתחברות לעומס העבודה של האצווה או לרשת של הענן הווירטואלי הפרטי (VPC) של הסשן.
- במסוף Google Cloud , עוברים אל Private Service Connect > Endpoints.
מחברים נקודות קצה או מוודאים שהן מחוברות לכל ממשקי ה-API הנדרשים, כמו
Cloud NAT: אם עומס העבודה צריך גישה לאינטרנט הציבורי, אפשר להגדיר Cloud NAT עבור עומס העבודה של Batch או עבור רשת המשנה של הסשן:
- נכנסים לדף Cloud NAT במסוף Google Cloud .
מגדירים שער או מוודאים שהוגדר שער עבור עומס העבודה של האצווה או עבור רשת ה-VPC, האזור ורשת המשנה של הסשן. בנוסף, מוודאים שכללי חומת האש מאפשרים יציאה אל
0.0.0.0/0. מידע נוסף זמין במאמר בנושא הגדרת Cloud NAT.
- נכנסים לדף Cloud NAT במסוף Google Cloud .
מגדירים שער או מוודאים שהוגדר שער עבור עומס העבודה של האצווה או עבור רשת ה-VPC, האזור ורשת המשנה של הסשן. בנוסף, מוודאים שכללי חומת האש מאפשרים יציאה אל
כללי חומת אש:
- כללי חומת האש לתעבורת נתונים יוצאת ברשת ה-VPC (או בפרויקט המארח של רשת ה-VPC המשותפת, אם רלוונטי) לא יכולים לחסום תעבורת נתונים יוצאת ליעדים הנדרשים.
- במקרה הרלוונטי, כללי היציאה צריכים לאפשר תעבורת נתונים לשירותים חיצוניים, כמו ממשקי API ציבוריים ומסדי נתונים מחוץ ל- Google Cloud. אם עומס העבודה של אצווה או סשן צריך גישה לאינטרנט, אפשר להשתמש ב-Cloud NAT כדי לספק יציאה מרשת משנה.
- למרות שזו לא סיבה נפוצה לבעיות בקישוריות, כללי כניסה מגבילים מדי עלולים לחסום בטעות תנועה חוזרת נדרשת או תקשורת פנימית.
- כללי חומת האש לתעבורת נתונים יוצאת ברשת ה-VPC (או בפרויקט המארח של רשת ה-VPC המשותפת, אם רלוונטי) לא יכולים לחסום תעבורת נתונים יוצאת ליעדים הנדרשים.
פענוח DNS:
- יש להגדיר את פענוח ה-DNS ברשת ה-VPC. עומסי עבודה וסשנים צריכים להיות מסוגלים לפתור שמות מארחים עבור ממשקי Google API, כמו
storage.googleapis.comאוbigquery.googleapis.com, ושירותים חיצוניים. - שרתי DNS בהתאמה אישית ותחומים פרטיים ב-Cloud DNS צריכים להעביר או לפתור שאילתות עבור דומיינים של Google.
- אם אתם משתמשים ב-Private Service Connect לגישה פרטית לממשקי Google APIs, רשומות ה-DNS של שירותי Google צריכות להפנות לכתובות IP פרטיות ברשת ה-VPC שלכם באמצעות נקודת הקצה של PSC.
- יש להגדיר את פענוח ה-DNS ברשת ה-VPC. עומסי עבודה וסשנים צריכים להיות מסוגלים לפתור שמות מארחים עבור ממשקי Google API, כמו
טיפים לפתרון בעיות:
זיהוי ההגדרה של הרשת ורשת המשנה:
- מפרטי הפעלה או הפעלה ברצף (batch) של Managed Service for Apache Spark, בודקים את
networkUriואתsubnetUri. - במסוף Google Cloud , בודקים את ההגדרות של רשת ה-VPC ושל רשת המשנה.
- מפרטי הפעלה או הפעלה ברצף (batch) של Managed Service for Apache Spark, בודקים את
בדיקת הקישוריות ממכונת Proxy וירטואלית:
- מפעילים מכונה וירטואלית לבדיקה ב-Compute Engine ברשת המשנה של האצווה או הסשן באמצעות חשבון השירות של האצווה או הסשן.
- מהמכונה הווירטואלית לבדיקה, מבצעים את בדיקות הקישוריות הבאות:
-
nslookup storage.googleapis.comכדי לאמת את פענוח ה-DNS. אפשר לחפש דומיינים אחרים של Google API, כמוbigquery.googleapis.comו-dataproc.googleapis.com. באמצעות גישה פרטית ל-Google, שמופעלת באופן אוטומטי ברשתות משנה של Managed Service for Apache Spark, או באמצעות Private Service Connect, הדומיינים צריכים להיות מזוהים ככתובות IP פרטיות. curl -v https://storage.googleapis.comכדי לאמת את הקישוריות של HTTPS ל-Google APIs. כדאי גם לנסות להתחבר לשירותים אחרים של Google.-
ping 8.8.8.8כדי לבדוק את הקישוריות לאינטרנט אם נדרש על ידי האצווה או הסשן. כדאי לנסותcurl -v https://example.comאם צפוי Cloud NAT.
-
- מריצים Google Cloud בדיקות קישוריות ב-Network Intelligence Center כדי לאבחן נתיבי רשת מרשת המשנה לנקודות קצה רלוונטיות, כמו ממשקי Google API וכתובות IP חיצוניות.
בודקים ב-Cloud Logging אם יש שגיאות ברשת:
- בודקים את הרישום ביומן של עומס העבודה או הסשן שלכם ב-Managed Service for Apache Spark. מחפשים הודעות
ERRORאוWARNINGשקשורות לפסק זמן של רשת, לסירוב חיבור או לכשל בקריאה ל-API. אפשר לסנן לפיjsonPayload.component="driver"אוjsonPayload.component="executor"כדי לראות בעיות ברשת שספציפיות ל-Spark.
- בודקים את הרישום ביומן של עומס העבודה או הסשן שלכם ב-Managed Service for Apache Spark. מחפשים הודעות
הרשאות IAM
הרשאות IAM לא מספיקות יכולות למנוע מעומסי עבודה או מסשנים לגשת למשאבים, וכתוצאה מכך לגרום לכשלי רשת אם נדחות קריאות ל-API.
לחשבון השירות שבו משתמשים בעומס העבודה או בסשן של אצווה צריכים להיות התפקידים הנדרשים:
- תפקיד Worker ב-Managed Service for Apache Spark (
roles/dataproc.worker). - תפקידים עם גישה לנתונים, כמו
roles/storage.objectViewerאוroles/bigquery.dataViewer). - רישום ביומן: (
roles/logging.logWriter).
טיפים לפתרון בעיות:
- מזהים את עומס העבודה או הסשן של אצווה חשבון השירות. אם לא מציינים חשבון שירות, המערכת משתמשת כברירת מחדל בחשבון השירות של Compute Engine שמוגדר כברירת מחדל.
- עוברים לדף IAM & Admin > IAM במסוף Google Cloud , מוצאים את חשבון השירות של עומס העבודה או הסשן של Batch, ומוודאים שיש לו את התפקידים הנדרשים לפעולות של עומס העבודה. מעניקים את התפקידים החסרים.
הגדרת שירות חיצוני
אם עומס העבודה מתחבר למסדי נתונים או לשירותים מחוץ ל- Google Cloud, צריך לוודא שההגדרה שלהם נכונה:
- מוודאים שחומת האש או קבוצת האבטחה של השירות החיצוני מאפשרות חיבורים נכנסים מטווח כתובות ה-IP של רשת ה-VPC: אם רלוונטי, בודקים כתובות IP פנימיות באמצעות קישור בין רשתות שכנות (peering) של VPC, Cloud VPN או Cloud Interconnect, או כתובות IP של Cloud NAT.
- בודקים את פרטי הכניסה למסד הנתונים או את מחרוזות הקישוריות. צריך לבדוק את פרטי החיבור, שמות המשתמש והסיסמאות.
המאמרים הבאים
- מידע נוסף על רשתות ב-Managed Service for Apache Spark
- כדאי לעיין במאמר בנושא חשבונות שירות של Managed Service for Apache Spark.
- אפשר לעיין במדריכים כלליים לפתרון בעיות ברשת: