פתרון בעיות בחיבור של קבוצות וסשנים

בדף הזה מוסבר איך לאבחן ולפתור בעיות נפוצות בקישוריות לרשת בעומסי עבודה של אצווה ובסשנים אינטראקטיביים ב-Managed Service for Apache Spark. בעיות כאלה יכולות למנוע מעומסי העבודה שלכם גישה למקורות נתונים נדרשים, לשירותים חיצוניים או לממשקי API של Google Cloud .

תסמינים נפוצים והודעות שגיאה

אם נתקלים בבעיות בקישוריות של Managed Service for Apache Spark, יכול להיות שיופיעו שגיאות כמו:

  • Unable to connect to service_name.googleapis.com
  • Could not reach required Google APIs
  • Connection refused
  • Host unreachable
  • Operation 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) של הסשן.
    • ‫Cloud NAT: אם עומס העבודה צריך גישה לאינטרנט הציבורי, אפשר להגדיר Cloud NAT עבור עומס העבודה של Batch או עבור רשת המשנה של הסשן:

      • נכנסים לדף Cloud NAT במסוף Google Cloud . מגדירים שער או מוודאים שהוגדר שער עבור עומס העבודה של האצווה או עבור רשת ה-VPC, האזור ורשת המשנה של הסשן. בנוסף, מוודאים שכללי חומת האש מאפשרים יציאה אל 0.0.0.0/0. מידע נוסף זמין במאמר בנושא הגדרת Cloud NAT.
  • כללי חומת אש:

    • כללי חומת האש לתעבורת נתונים יוצאת ברשת ה-VPC (או בפרויקט המארח של רשת ה-VPC המשותפת, אם רלוונטי) לא יכולים לחסום תעבורת נתונים יוצאת ליעדים הנדרשים.
      • במקרה הרלוונטי, כללי היציאה צריכים לאפשר תעבורת נתונים לשירותים חיצוניים, כמו ממשקי API ציבוריים ומסדי נתונים מחוץ ל- Google Cloud. אם עומס העבודה של אצווה או סשן צריך גישה לאינטרנט, אפשר להשתמש ב-Cloud NAT כדי לספק יציאה מרשת משנה.
    • למרות שזו לא סיבה נפוצה לבעיות בקישוריות, כללי כניסה מגבילים מדי עלולים לחסום בטעות תנועה חוזרת נדרשת או תקשורת פנימית.
  • פענוח 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.

טיפים לפתרון בעיות:

  • זיהוי ההגדרה של הרשת ורשת המשנה:

    • מפרטי הפעלה או הפעלה ברצף (batch) של Managed Service for Apache Spark, בודקים את networkUri ואת subnetUri.
    • במסוף Google Cloud , בודקים את ההגדרות של רשת ה-VPC ושל רשת המשנה.
  • בדיקת הקישוריות ממכונת 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.

הרשאות 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.
  • בודקים את פרטי הכניסה למסד הנתונים או את מחרוזות הקישוריות. צריך לבדוק את פרטי החיבור, שמות המשתמש והסיסמאות.

המאמרים הבאים